/* Neuf compositions métier, une même matière Fransou. Aucun style de document PDF. */
.cm-active .fb-page{--fb-line:rgba(167,207,215,.16);--fb-panel:rgba(24,40,48,.76);--fb-muted:#aabec4;max-width:1660px;margin:auto}
.fb-page .fb-workspace{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,340px);gap:28px;align-items:start;margin-top:26px}
.fb-workspace:has(>.fb-main:only-child){grid-template-columns:minmax(0,1fr)}
.fb-main,.fb-rail{min-width:0;display:flex;flex-direction:column;gap:20px}
.fb-page .fb-rail{position:sticky;top:24px}
.fb-page .tete-action{gap:24px;align-items:center}.fb-page .tete-action>div:first-child{min-width:0;flex:1}
.fb-page .titre{font-size:clamp(27px,3vw,42px);line-height:1.12;letter-spacing:-.035em}
.fb-page .ligne-etat{font-size:15px;line-height:1.6;max-width:880px;color:var(--fb-muted)}
.cm-active .fb-page :is(.verre,.calc-libre,.calc-champs,.calc-resultat,.calc-famille,.tva-mois){background:linear-gradient(135deg,rgba(232,187,132,.035),transparent 45%),var(--fb-panel);border:1px solid var(--fb-line);box-shadow:0 18px 50px rgba(0,0,0,.1);color:var(--encre);border-radius:18px}
.fb-page :is(.note,.sous,small){color:var(--fb-muted);line-height:1.55}
.fb-page :is(input,select,textarea){min-width:0;max-width:100%;font:inherit}
.cm-active .fb-page :is(input,select,textarea):not([type=range]):not([type=checkbox]):not([type=file]){background:#102129;color:#ecf3f4;border:1px solid #40555d;border-radius:10px;padding:11px 13px;color-scheme:dark}
.fb-page :is(button,a,input,select,textarea):focus-visible{outline:2px solid #94e5de;outline-offset:4px}
.fb-page .gestes{flex-wrap:wrap;gap:8px}.fb-page .mod-page{min-width:0;gap:14px;padding:18px 20px;border-color:var(--fb-line)}
.fb-page .mod-page>div{min-width:0}.fb-page .mod-page b{overflow-wrap:anywhere}
.fb-page .mk-section{margin:0}.fb-page .mk-section>h2{font-size:18px;margin:0 0 14px;font-weight:550}
.fb-page .fb-main>.note{padding:8px 0;margin:0!important;font-size:13px}
.fb-page .fb-rail .mod-page{flex-wrap:wrap}.fb-page .fb-rail .fe-etat{display:flex;flex-wrap:wrap;padding:18px;gap:20px}.fb-page .fb-rail .fe-etat>div{flex:1 1 110px;padding:0;border:0}
.fb-page .fb-rail .fe-etat b{font-size:24px}.fb-avoirs .fb-workspace{grid-template-columns:minmax(0,1.25fr) minmax(300px,.8fr)}
.fb-avoirs .fb-main .mod-pages{min-height:220px}.fb-avoirs .fb-rail .mod-pages{max-height:65vh;overflow:auto}
/* Les calculs sont un établi : bibliothèque compacte, saisie et résultat distincts. */
.fb-calculatrice .fb-workspace{grid-template-columns:minmax(0,1fr) 285px}.fb-calculatrice .fb-library{grid-template-columns:1fr}
.fb-calculatrice .calc-libre{padding:12px;display:flex;gap:10px}.fb-calculatrice .calc-libre input{flex:1}
.fb-calculatrice .calc-familles{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin:0}
.fb-calculatrice .calc-famille{padding:22px}.fb-calculatrice .calc-famille h2{font-size:19px;color:var(--ambre);margin-top:0}
.fb-calculatrice .calc-q{border-radius:10px;padding:13px 10px;border-color:var(--fb-line);color:var(--encre)}
.fb-calculatrice .calc-q:hover{background:rgba(136,226,218,.07)}.fb-calculatrice .fb-rail .calc-familles{grid-template-columns:1fr;gap:12px}
.cm-active .fb-calculatrice .calc-q{background:#162b34;border:1px solid #364b56;color:#dcebec}.cm-active .fb-calculatrice .calc-q:hover{background:#21414a}
.fb-calculatrice .fb-rail .calc-famille{padding:16px}.fb-calculatrice .calc-resultat{padding:28px;border-top:1px solid #96c5bd}
.fb-calculatrice .fb-calc-answer{display:grid;gap:16px}.fb-calculatrice .calc-champs{padding:24px}
.cm-active .fb-calculatrice .calc-champ{background:#132a34;border:1px solid #3a515c;box-shadow:none;border-radius:14px;color:#edf4f4;padding:18px}
.fb-calculatrice .calc-champ .cc-lib{color:#c2d3d8}.fb-calculatrice .calc-champ .cc-nombre{color:#edf4f4;border-radius:6px;min-width:2ch}.fb-calculatrice .calc-champ.vide{border-color:#bc9b72}.fb-calculatrice .calc-champ.vide .cc-nombre{background:#443b2f}
.cm-active .fb-calculatrice .calc-q.on{background:#254c53;color:#c3f0e9;border:1px solid #52767d}.fb-calculatrice .calc-champs{gap:18px}
/* Courbe + échéances ; aucun chiffre du modèle n'est recalculé par le thème. */
.fb-tresorerie .fb-workspace{grid-template-columns:minmax(0,1fr) 300px}.fb-tresorerie .treso{padding:24px}.fb-tresorerie .grille-jalons{display:flex;flex-direction:column;gap:10px;margin:0}
.fb-tresorerie .jalon{padding:16px;gap:12px}.fb-tresorerie .jalon .jd{color:var(--ambre);font-size:13px;width:42px}
.fb-tresorerie .treso-curseur{display:flex;flex-wrap:wrap;gap:10px;align-items:center;padding-top:24px;border-top:1px solid var(--fb-line)}
.fb-tresorerie #treso-svg path[stroke="#2B2BEA"]{stroke:#94ded8}.fb-tresorerie #treso-svg text{fill:#b6cbd1}
.fb-tresorerie #treso-svg circle[fill="#141419"]{fill:#e2b584}.fb-tresorerie .bloc-tete{flex-wrap:wrap;gap:12px}
/* Pièces manquantes : reçus compacts, chaque dépôt reste sur sa transaction. */
.fb-justificatifs .fb-workspace{grid-template-columns:minmax(0,1fr)}
.fb-justificatifs .grille-justif{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:18px;margin:0}
.fb-justificatifs .vignette{padding:22px;gap:12px;text-align:left;align-items:start}.fb-justificatifs .vignette .cadre{width:100%;border-color:#45646c;background:rgba(99,207,208,.035);color:var(--cm-cyan)}
/* Taxes : détail de calcul à gauche, calendrier vertical à droite. */
.fb-taxes .tva-cal{display:flex;flex-direction:column;gap:10px;margin:0}.fb-taxes .tva-mois{padding:20px;display:grid;grid-template-columns:1fr auto;gap:8px}.fb-taxes .tva-mois small{grid-column:1/-1}.fb-taxes .tva-mois.on{border-color:#b69570}
.fb-taxes .tva-deux{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin:0}.fb-taxes .bloc{padding:24px}.fb-taxes .tva-l{gap:14px;flex-wrap:wrap;border-color:var(--fb-line)}.fb-taxes .taux{display:flex;flex-wrap:wrap;gap:6px}.fb-taxes .gros{font-size:38px}
/* Clôture : période fixe en tête de colonne, paquet comptable dans la grande zone. */
.fb-comptabilite .fb-workspace{grid-template-columns:300px minmax(0,1fr)}.fb-comptabilite .fb-main{grid-column:2;grid-row:1}.fb-comptabilite .fb-rail{grid-column:1;grid-row:1}
.fb-comptabilite .fb-rail .filtres{display:flex;flex-direction:column;align-items:stretch;gap:8px;margin:0}.fb-comptabilite .filtre{border-radius:10px;padding:13px 16px}.fb-comptabilite .filtre.on{background:#19363d;color:#a7e2dd;border-color:#496970}
.fb-comptabilite .paie-mois{padding:20px}.fb-comptabilite #cpt-form{display:flex;flex-direction:column;align-items:stretch;gap:16px}.fb-comptabilite #cpt-form label{width:100%;min-width:0}
.cm-active .fb-comptabilite .filtre{background:transparent;color:#c2d7dc;border:1px solid #3a535d}.cm-active .fb-comptabilite .filtre.on{background:#23424b;color:#b6e7df}
.fb-comptabilite .cpt-table{overflow:auto}.fb-comptabilite .cpt-table table{min-width:550px;width:100%}.fb-comptabilite :is(th,td){border-color:var(--fb-line);padding:13px;text-align:left}
.fb-conseiller .fb-workspace{grid-template-columns:minmax(0,1fr) 290px}.fb-conseiller .fb-rail>div{display:flex!important;flex-direction:column;gap:16px}.fb-conseiller .cons-ligne{padding:24px;align-items:start}.fb-conseiller .cons-ligne .gestes{justify-content:flex-start}.fb-conseiller .fb-rail .bloc{padding:24px;min-width:0}
/* Caisse : ticket toujours visible pendant le choix des produits. */
.fb-caisse .fb-workspace{grid-template-columns:minmax(0,1fr) 370px}.fb-caisse .cai-grille,.fb-vitrine .vit-grille{display:block;margin:0}.fb-caisse .cai-tuiles{grid-template-columns:repeat(auto-fill,minmax(155px,1fr));gap:14px}
.cm-active .fb-caisse .cai-tuile{min-height:112px;background:#182b34;color:#f0f3f1;border:1px solid #3b535d;border-radius:15px;padding:18px;text-align:left;transition:border-color .16s,transform .16s}
.fb-caisse .cai-tuile:hover{border-color:#a0ddd5;transform:translateY(-2px)}.fb-caisse .cai-panier{padding:24px}.fb-caisse .cai-total{border-color:var(--fb-line)}.fb-caisse .cai-moyens{display:flex;flex-wrap:wrap;gap:8px}.fb-caisse #cai-cherche{width:100%}
.fb-caisse .cai-total{display:grid;grid-template-columns:1fr auto;align-items:baseline;gap:8px}.fb-caisse .cai-total b{white-space:nowrap;font-size:30px}.fb-caisse .cai-total small{grid-column:1/-1}.fb-caisse .cai-grille h2{margin:18px 0 14px;font-size:18px}.fb-caisse .cai-grille h2:first-of-type{margin-top:18px}
.fb-vitrine .fb-workspace{grid-template-columns:minmax(0,1fr) 360px}.fb-vitrine .vit-tete{text-align:left;padding:28px 0}.fb-vitrine .vit-bandeau{border-radius:12px;line-height:1.7}
.fb-vitrine .vit-offres{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.cm-active .fb-vitrine .vit-offre{background:#152832;border:1px solid #344b55;color:var(--encre);border-radius:18px;padding:24px}.fb-vitrine .vit-panier{padding:24px}.fb-vitrine .vit-panier form{display:flex;flex-direction:column;gap:14px}.fb-vitrine .vit-pied{padding:20px 0}
.fb-vitrine #vit-form label{display:flex;flex-direction:column;align-items:stretch;width:100%;min-width:0}.fb-vitrine #vit-form :is(input,textarea){width:100%;max-width:100%}.fb-vitrine .vit-panier .vit-form{width:100%}.fb-vitrine .vit-grille h2{margin:24px 0 16px}.fb-vitrine .vit-grille h2:first-child{margin-top:0}
@media(min-width:1500px){.fb-calculatrice .fb-library .calc-familles{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:1050px){.fb-page .fb-workspace{gap:20px;grid-template-columns:minmax(0,1fr) 280px}.fb-comptabilite .fb-workspace{grid-template-columns:260px minmax(0,1fr)}.fb-caisse .cai-tuiles{grid-template-columns:repeat(2,minmax(0,1fr))}.fb-vitrine .vit-offres{grid-template-columns:1fr}}
@media(max-width:800px){.fb-page .fb-workspace,.fb-comptabilite .fb-workspace{display:flex;flex-direction:column}.fb-page .fb-main,.fb-page .fb-rail{width:100%;position:static}.fb-comptabilite .fb-rail{order:-1}.fb-taxes .tva-cal{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.fb-calculatrice .calc-familles{grid-template-columns:1fr}.fb-taxes .tva-deux{grid-template-columns:1fr}.fb-page .tete-action{align-items:stretch;flex-direction:column}.fb-page .cai-tuiles{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(prefers-reduced-motion:reduce){.fb-page *{transition:none!important;animation:none!important}}
