/* PREUVE EN MAIN — écran « Calculs » (famille-vue.js). Styles propres à la vue,
   tous préfixés .fc- ; jetons de app.css réutilisés (--bleu, --trait, --serif…).
   Mobile d'abord : 390 px sans défilement horizontal ; deux colonnes quand la
   vue dispose d'au moins 860 px (requête de conteneur, pas de fenêtre : la
   barre latérale de 246 px ne fausse pas le calcul). Impression : @media print
   en fin de fichier, une page Letter. */

.fc-vue{--fc-pere:#2B5C8A;--fc-pere-pale:#E8EFF7;--fc-mere:#8A5A13;--fc-mere-pale:#FBF3E4;
  --fc-ok:#2F6B4F;--fc-ok-pale:#E9F3EE;--fc-non:#8A2A1F;--fc-non-pale:#F8ECEA;
  container:fcvue / inline-size;font-variant-numeric:tabular-nums}
.fc-vue *{min-width:0}
.fc-vue h2,.fc-vue h3,.fc-vue h4{overflow-wrap:anywhere}
.fc-vue input,.fc-vue select,.fc-vue textarea{font-size:16px}
.fc-vue textarea{min-height:64px}
.fc-sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}

/* En-tête et bandeau d'aperçu */
.fc-tete{margin:0 0 12px}
.fc-sur{font-size:.74rem;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--encre-douce);margin-bottom:4px}
.fc-tete h1{font-size:1.6rem;margin:0 0 6px}
.fc-chapeau{color:var(--encre-douce);max-width:64ch;font-size:.95rem}
.fc-apercu{display:flex;gap:10px;align-items:flex-start;background:var(--ambre-pale);border:1px solid #ecd6b3;
  border-left:4px solid var(--ambre);border-radius:10px;padding:10px 14px;margin:0 0 6px;font-size:.9rem;color:#5b3d0c;line-height:1.45}
.fc-apercu-ic{display:inline-flex;flex-shrink:0;color:var(--ambre-texte);margin-top:1px}
.fc-insecable{white-space:nowrap}
.fc-apercu-ic .ic-svg{width:18px;height:18px}
.fc-apercu strong{color:var(--ambre-texte)}

/* Grille : saisie + résultat collant */
.fc-grille{display:grid;grid-template-columns:minmax(0,1fr);gap:0 20px;align-items:start}
.fc-cote{margin:13px 0}
@container fcvue (min-width:860px){
  .fc-grille{grid-template-columns:minmax(0,1fr) 316px}
  .fc-cote{position:sticky;top:calc(var(--tete-h) + 12px);margin:13px 0}
}

/* Cartes et champs */
.fc-carte{container:fccarte / inline-size}
.fc-vue h2.carte-titre{margin:0 0 4px;font-size:1.06rem;line-height:1.3}
.fc-vue .carte-sous{margin:0 0 10px;font-size:.86rem;line-height:1.5}
.fc-h3{font-size:.98rem;margin:16px 0 8px;display:flex;align-items:baseline;gap:8px;flex-wrap:wrap}
.fc-vue h4{font-family:var(--sans);font-size:.86rem;color:var(--encre);margin:12px 0 6px}
.fc-compte{font-family:var(--sans);font-size:.78rem;font-weight:600;color:var(--encre-douce)}
.fc-q{border:0;margin:12px 0 4px;padding:0}
.fc-q legend{font-weight:650;font-size:.93rem;margin-bottom:8px;padding:0}
.fc-champ{display:block;margin:10px 0 0}
.fc-champ>span{display:block;font-weight:650;font-size:.84rem;margin-bottom:4px;color:var(--encre)}
.fc-aide{display:block;font-size:.8rem;color:var(--encre-douce);margin:6px 0 0;line-height:1.45}
.fc-note{font-size:.84rem;background:var(--papier);border-left:3px solid var(--bleu);border-radius:0 8px 8px 0;padding:8px 11px;margin:10px 0;line-height:1.45}
.fc-etiq{display:inline-block;font-size:.72rem;font-weight:700;color:var(--ambre-texte);background:var(--ambre-pale);
  border:1px solid #ecd6b3;border-radius:6px;padding:1px 7px;margin-top:2px}
.fc-erreur{font-size:.88rem;color:var(--fc-non);background:var(--fc-non-pale);border-radius:8px;padding:9px 12px;margin:10px 0}
.fc-erreur-txt{color:var(--fc-non);font-weight:600}
.fc-vue input.fc-num{text-align:right;font-variant-numeric:tabular-nums}
.fc-vue input.fc-invalide{border-color:var(--fc-non);box-shadow:0 0 0 3px rgba(138,42,31,.12)}
.fc-duo{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.fc-trio{display:grid;grid-template-columns:repeat(auto-fit,minmax(132px,1fr));gap:0 10px}
.fc-rangee{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-top:12px}
.fc-vue .bouton.fc-petit{min-height:40px;padding:8px 14px;font-size:.9rem;border-radius:10px}
.fc-vue .bouton.fc-petit .ic-svg{width:15px;height:15px;margin-right:6px;vertical-align:-2px}
.fc-x{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border:1px solid var(--trait);
  border-radius:9px;background:var(--blanc);color:var(--encre-douce);cursor:pointer;flex-shrink:0}
.fc-x:hover{color:var(--fc-non);border-color:#e0c0ba}
.fc-x .ic-svg{width:16px;height:16px}
.fc-case{display:flex;gap:10px;align-items:flex-start;margin:12px 0 0;font-size:.9rem;cursor:pointer}
.fc-case input{width:18px;height:18px;margin-top:2px;flex-shrink:0;accent-color:var(--bleu)}
.fc-plus{margin:12px 0 0;border-top:1px solid var(--trait-2);padding-top:4px}
.fc-plus>summary{cursor:pointer;font-weight:650;color:var(--bleu);padding:8px 0;font-size:.92rem}
.fc-plus>summary::marker{color:var(--encre-3)}

/* Choix (pastilles) et contrôle segmenté — l'input couvre son libellé (clic et clavier natifs) */
.fc-choix-rangee{display:flex;flex-wrap:wrap;gap:8px}
.fc-choix{position:relative;display:inline-flex}
.fc-choix input,.fc-seg input{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:pointer}
.fc-choix span{display:inline-flex;align-items:center;gap:6px;min-height:42px;padding:8px 15px;border:1.5px solid #c9d3df;
  border-radius:999px;background:var(--blanc);font-weight:600;font-size:.9rem;color:var(--encre);line-height:1.25}
.fc-choix span em{font-style:normal;font-weight:500;color:var(--encre-douce);font-size:.8rem}
.fc-choix:hover span{border-color:var(--bleu)}
.fc-choix input:checked+span{border-color:var(--bleu);background:var(--bleu);color:var(--blanc)}
.fc-choix input:checked+span em{color:#dfe7f1}
.fc-choix input:focus-visible+span,.fc-seg input:focus-visible+span{outline:3px solid var(--ambre);outline-offset:2px}
.fc-choix-col{flex-direction:column;align-items:stretch}
.fc-choix-col .fc-choix span{border-radius:10px;width:100%;justify-content:space-between}
.fc-seg{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;background:var(--papier-2);border-radius:11px;padding:4px;margin:10px 0 4px}
.fc-seg.fc-seg-2{grid-template-columns:repeat(2,minmax(0,1fr));max-width:340px}
.fc-seg label{position:relative;display:block}
.fc-seg span{display:flex;align-items:center;justify-content:center;text-align:center;min-height:42px;padding:6px 8px;border-radius:8px;
  font-size:.84rem;font-weight:650;color:var(--encre-douce);line-height:1.2}
.fc-seg label:hover span{color:var(--bleu)}
.fc-seg input:checked+span{background:var(--blanc);color:var(--bleu);box-shadow:0 1px 3px rgba(20,28,42,.12)}

/* Porte d'applicabilité */
.fc-statut{display:flex;flex-direction:column;gap:3px;border-radius:10px;padding:10px 13px;margin:14px 0 8px;font-size:.88rem;line-height:1.45}
.fc-statut strong{font-size:.95rem}
.fc-statut-ok{background:var(--fc-ok-pale);color:#1f4a36;border:1px solid #c6e0d1}
.fc-statut-attente{background:var(--papier);color:var(--encre-douce);border:1px solid var(--trait)}
.fc-statut-non{background:var(--fc-non-pale);color:var(--fc-non);border:1px solid #e9c9c3}
.fc-cite{margin:6px 0 0}
.fc-cite blockquote,.fc-art blockquote{font-family:var(--serif);font-size:.86rem;line-height:1.5;color:var(--encre);border-left:3px solid var(--trait);padding:2px 0 2px 12px;margin:0}
.fc-cite figcaption,.fc-src{font-size:.76rem;color:var(--encre-douce);margin-top:5px;overflow-wrap:anywhere}

/* Parents et enfants */
.fc-annee{max-width:420px}
.fc-enfants{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:10px}
.fc-enfant{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;gap:0 10px;align-items:end;padding:10px 12px;
  background:var(--papier);border-radius:10px}
.fc-enfant .fc-champ{margin:0}
.fc-enfant:not(:has(.fc-x)){grid-template-columns:minmax(0,1fr) minmax(0,1fr)}

/* Temps de garde */
.fc-garde{border-top:1px solid var(--trait-2);margin-top:14px;padding-top:4px}
.fc-garde:first-of-type{border-top:0;margin-top:6px}
.fc-garde-res{margin-top:14px}
.fc-gc-rangee{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.fc-gc{border-radius:10px;padding:10px 12px;display:flex;flex-direction:column;gap:1px;border-left:4px solid}
.fc-gc-pere{background:var(--fc-pere-pale);border-color:var(--fc-pere)}
.fc-gc-mere{background:var(--fc-mere-pale);border-color:var(--fc-mere)}
.fc-gc-l{font-size:.74rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--encre-douce)}
.fc-gc strong{font-size:1.45rem;line-height:1.15;color:var(--encre);font-variant-numeric:tabular-nums}
.fc-gc strong small{font-size:.78rem;font-weight:600;color:var(--encre-douce)}
.fc-gc-pct{font-weight:700;font-size:.95rem}
.fc-gc-pere .fc-gc-pct{color:var(--fc-pere)}
.fc-gc-mere .fc-gc-pct{color:var(--fc-mere)}
.fc-barre{position:relative;display:flex;height:16px;border-radius:8px;overflow:hidden;margin:14px 0 2px;background:var(--papier-2)}
.fc-barre-p{background:var(--fc-pere)}
.fc-barre-m{background:var(--fc-mere)}
.fc-repere{position:absolute;top:0;bottom:0;width:2px;margin-left:-1px;background:rgba(255,255,255,.9)}
.fc-reperes{position:relative;height:16px;font-size:.68rem;color:var(--encre-3);margin:0 6px}
.fc-reperes span{position:absolute;top:0;transform:translateX(-50%);white-space:nowrap}
.fc-seuils{font-size:.76rem;color:var(--encre-douce);margin:4px 0 0}
.fc-classe{margin-top:10px}
.fc-classe>p{font-size:.88rem;line-height:1.5;margin:6px 0 0}
.fc-pastille{display:inline-block;font-size:.8rem;font-weight:700;border-radius:999px;padding:4px 12px;background:var(--fc-pere-pale);color:var(--fc-pere);border:1px solid #c9d8ea}
.fc-pastille-partagee{background:var(--fc-ok-pale);color:#1f4a36;border-color:#c6e0d1}
.fc-pastille-indeterminee{background:var(--fc-non-pale);color:var(--fc-non);border-color:#e9c9c3}
.fc-art{margin-top:8px}
.fc-art>summary{cursor:pointer;font-size:.82rem;font-weight:650;color:var(--bleu)}
.fc-art blockquote{margin-top:8px}
.fc-notes{margin:8px 0 0 18px;font-size:.8rem;color:var(--encre-douce);line-height:1.45}
.fc-notes li{margin:3px 0}
.fc-exceptions{margin-top:12px;padding:10px 12px;background:var(--papier);border-radius:10px}
.fc-exceptions h4{margin-top:0}
.fc-exc{display:grid;grid-template-columns:1fr 1fr;gap:0 8px;align-items:start;padding:8px 0;border-bottom:1px solid var(--trait)}
.fc-exc select{min-height:50px}
.fc-exc .fc-champ{margin-top:6px}
.fc-exc .fc-exc-lib{grid-column:1}
.fc-exc .fc-x{justify-self:end;align-self:end}
.fc-exceptions>.bouton{margin-top:10px}
.fc-heure{max-width:220px}
.fc-cycle{margin-top:12px}
.fc-cycle-j{list-style:none;padding:0;margin:6px 0 0;display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:3px;max-width:420px}
.fc-cycle-j li{display:flex;flex-direction:column;align-items:center;justify-content:center;border-radius:6px;padding:4px 0;font-size:.7rem;line-height:1.2;color:#fff}
.fc-cycle-j li span{opacity:.82}
.fc-cycle-j li b{font-size:.82rem}
.fc-j-pere{background:var(--fc-pere)}
.fc-j-mere{background:var(--fc-mere)}
.fc-legende{display:flex;align-items:center;gap:6px;font-size:.74rem;color:var(--encre-douce);margin-top:6px}
.fc-pt{display:inline-block;width:10px;height:10px;border-radius:3px;margin-left:6px}
.fc-pt:first-child{margin-left:0}
.fc-pt-pere{background:var(--fc-pere)}
.fc-pt-mere{background:var(--fc-mere)}
.fc-pr{margin-top:12px;border:1px solid var(--trait);border-radius:10px;padding:10px 12px}
.fc-pr h4{margin-top:0}
.fc-pr-r{display:grid;grid-template-columns:4.2rem repeat(3,minmax(0,1fr));gap:6px;font-size:.8rem;padding:4px 0;border-top:1px solid var(--trait-2)}
.fc-pr-tete{font-weight:700;color:var(--encre-douce);border-top:0}

/* Revenus et frais : une rangée par ligne du formulaire */
.fc-ls{display:grid;grid-template-columns:1fr 1fr;gap:6px 10px;padding:11px 0;border-top:1px solid var(--trait-2)}
.fc-ls-lib{grid-column:1 / -1;font-size:.9rem;line-height:1.4}
.fc-ls-t{font-weight:650}
.fc-no{display:inline-block;min-width:2.6em;font-size:.74rem;font-weight:700;color:var(--encre-douce);background:var(--papier-2);
  border-radius:5px;padding:1px 6px;margin-right:7px;text-align:center}
.fc-no:empty{display:none}
.fc-ls-in>span{display:block;font-size:.74rem;font-weight:700;color:var(--encre-douce);margin-bottom:3px;text-transform:uppercase;letter-spacing:.04em}
.fc-ls-tete{display:none}
.fc-mini-res{margin-top:10px;padding:10px 12px;background:var(--papier);border-radius:10px;font-size:.84rem;line-height:1.55}
.fc-mini-res:empty{display:none}
.fc-mini-res p span{color:var(--encre-douce)}
@container fccarte (min-width:540px){
  .fc-ls{grid-template-columns:minmax(0,1fr) 142px 142px;align-items:center}
  .fc-ls-lib{grid-column:auto}
  .fc-ls-in>span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
  .fc-ls-tete{display:grid;padding:4px 0 6px;border-top:0;font-size:.76rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--encre-douce)}
  .fc-ls-tete>span{text-align:right}
  .fc-ls-tete em{display:block;font-style:normal;font-weight:500;text-transform:none;letter-spacing:0;color:var(--encre-3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .fc-exc{grid-template-columns:150px 150px 140px minmax(0,1fr) auto}
  .fc-exc .fc-exc-lib{grid-column:auto}
}

/* Résultat (colonne collante) */
.fc-resultat{border-top:4px solid var(--bleu);padding:18px 18px 16px;margin:0}
.fc-res-sur{font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--encre-douce)}
.fc-res-vide{font-size:.9rem;color:var(--encre-douce);margin-top:8px;line-height:1.5}
.fc-montant-phrase{font-size:.95rem;line-height:1.5;margin:8px 0 12px;color:var(--encre)}
.fc-montant{display:block;font-family:var(--serif);font-size:2.15rem;line-height:1.1;font-weight:700;color:var(--encre);margin:6px 0 4px;letter-spacing:-.01em}
.fc-mensuel{color:var(--bleu)}
.fc-res-dl{margin:0 0 12px;display:flex;flex-direction:column;gap:8px;font-size:.84rem}
.fc-res-dl dt{font-size:.72rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--encre-douce)}
.fc-res-dl dd{margin:1px 0 0;line-height:1.4}
.fc-res-sous{font-size:.72rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--encre-douce);margin:10px 0 6px}
.fc-freq{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:1fr 1fr;gap:6px}
.fc-freq li{display:flex;flex-direction:column;gap:1px;background:var(--papier);border-radius:9px;padding:7px 9px;border:1px solid transparent}
.fc-freq li span{font-size:.74rem;color:var(--encre-douce)}
.fc-freq li strong{font-size:.98rem;font-variant-numeric:tabular-nums}
.fc-freq li.fc-freq-choisie{border-color:var(--bleu);background:var(--blanc)}
.fc-freq-liste{grid-template-columns:minmax(0,1fr);gap:4px}
.fc-freq-liste li{flex-direction:row;justify-content:space-between;align-items:baseline;gap:10px;padding:6px 10px}
.fc-freq-liste li span{font-size:.8rem}
.fc-freq-large{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));margin-top:10px}
.fc-res-avert{font-size:.78rem;color:var(--encre-douce);margin-top:12px;line-height:1.45}
.fc-res-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}
.fc-res-actions .bouton{flex:1}

/* Détail ligne par ligne */
.fc-section-retenue{background:var(--papier);border-radius:10px;padding:12px 14px;margin:8px 0 14px;font-size:.88rem;line-height:1.5}
.fc-section-retenue .fc-res-sous{margin-top:0}
.fc-section-titre{font-family:var(--serif);font-weight:700;color:var(--bleu);font-size:1rem;margin:2px 0 4px}
.fc-tag{display:inline-block;font-family:var(--sans);font-size:.7rem;font-weight:700;color:var(--encre-douce);background:var(--papier-2);border-radius:6px;padding:1px 7px;vertical-align:1px;white-space:nowrap}
.fc-tag-ambre{color:var(--ambre-texte);background:var(--ambre-pale)}
.fc-lt{border:1px solid var(--trait);border-radius:10px;overflow:hidden;font-size:.86rem}
.fc-lt-partie{background:var(--papier);padding:9px 12px;font-family:var(--serif);font-weight:700;color:var(--bleu);border-top:1px solid var(--trait);font-size:.9rem;line-height:1.35}
.fc-lt-partie:first-of-type{border-top:0}
.fc-lt-r{display:flex;flex-wrap:wrap;gap:2px 10px;padding:8px 12px;border-top:1px solid var(--trait-2);align-items:baseline}
.fc-lt-tete{display:none}
.fc-lt-no{flex:0 0 3.1rem;font-weight:700;color:var(--encre-douce);font-size:.8rem}
.fc-lt-lib{flex:1 1 0;line-height:1.4}
.fc-lt-vals{flex:1 1 100%;display:flex;flex-wrap:wrap;gap:2px 16px;padding-left:calc(3.1rem + 10px)}
.fc-lt-v{font-variant-numeric:tabular-nums;white-space:nowrap}
.fc-lt-v:empty{display:none}
.fc-lt-v::before{content:attr(data-col) " ";font-size:.68rem;font-weight:700;color:var(--encre-3);text-transform:uppercase;letter-spacing:.03em}
.fc-lt-cle{background:#eef4fb}
.fc-lt-cle .fc-lt-v,.fc-lt-cle .fc-lt-lib{font-weight:750}
.fc-lt-ajust{background:var(--ambre-pale)}
.fc-lt-nul{color:var(--encre-3)}
.fc-lt-nul .fc-lt-no{color:var(--encre-3)}
@container fccarte (min-width:680px){
  .fc-lt-r,.fc-lt-tete{display:grid;grid-template-columns:3.4rem minmax(0,1fr) 8.4rem 8.4rem 8.4rem;gap:0 12px;align-items:baseline}
  .fc-lt-vals{display:contents}
  .fc-lt-tete{font-size:.72rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--encre-douce);background:var(--blanc);border-top:0}
  .fc-lt-tete .fc-lt-vals>span{text-align:right}
  .fc-lt-v,.fc-lt-v:empty{display:block;text-align:right}
  .fc-lt-v::before{content:none}
}
.fc-bloc{margin-top:16px}
.fc-ajust{padding:12px 14px;border:1px solid #ecd6b3;border-radius:10px;background:#fffdf8}
.fc-ajust .fc-h3{margin-top:0;display:block}
.fc-ajust p{font-size:.88rem;line-height:1.5}
.fc-bloc>p{font-size:.88rem;line-height:1.5}
.fc-drapeaux{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:6px;font-size:.84rem;line-height:1.45}
.fc-drapeaux li{padding:8px 11px;border-radius:9px;background:var(--papier)}
.fc-drapeaux li.fc-dr-aValider,.fc-drapeaux li.fc-dr-attention{background:var(--ambre-pale)}
.fc-avert-principal{font-weight:650}
.fc-sources{margin:0 0 0 18px;font-size:.8rem;line-height:1.5;overflow-wrap:anywhere}
.fc-sources li{margin:4px 0}
.fc-vide-detail .fc-res-vide{margin:6px 0 2px}

/* Scénarios */
.fc-scen-form{display:flex;flex-wrap:wrap;gap:8px 12px;align-items:flex-end}
.fc-scen-form .fc-champ{flex:1 1 260px;margin-top:0}
.fc-scen-boutons{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.fc-scen-msg{font-size:.86rem;margin:8px 0 0;min-height:1px}
.fc-scen-msg.fc-refus{color:var(--fc-non);font-weight:650;background:var(--fc-non-pale);border-radius:8px;padding:8px 11px}
.fc-scen-msg.fc-ok{color:#1f4a36}
.fc-scens{list-style:none;padding:0;margin:8px 0 0;display:flex;flex-direction:column;gap:8px}
.fc-sc{border:1px solid var(--trait);border-radius:10px;padding:10px 12px;background:var(--blanc)}
.fc-sc-ouvert{border-color:var(--bleu);box-shadow:0 0 0 1px var(--bleu) inset}
.fc-sc-choix{display:flex;gap:10px;align-items:center;cursor:pointer}
.fc-sc-choix input{width:18px;height:18px;flex-shrink:0;accent-color:var(--bleu)}
.fc-sc-nom{font-weight:700;overflow-wrap:anywhere}
.fc-sc-meta{font-size:.8rem;color:var(--encre-douce);margin:4px 0 0 28px;line-height:1.45}
.fc-sc-act{display:flex;flex-wrap:wrap;gap:2px 6px;margin:4px 0 0 20px}
.fc-sc-act .bouton.discret{font-size:.84rem;padding:6px 8px}
.fc-sc-act .fc-danger{color:var(--fc-non)}
.fc-cmp{margin-top:14px;border:1px solid var(--trait);border-radius:10px;overflow:hidden;font-size:.84rem}
.fc-cmp-r{display:grid;grid-template-columns:repeat(var(--n),minmax(0,1fr));gap:3px 10px;padding:8px 12px;border-top:1px solid var(--trait-2)}
.fc-cmp-r:first-child{border-top:0}
.fc-cmp-lib{grid-column:1 / -1;font-size:.74rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--encre-douce)}
.fc-cmp-v{line-height:1.45;overflow-wrap:anywhere}
.fc-cmp-tete{background:var(--papier)}
.fc-cmp-tete .fc-cmp-v{font-weight:700;color:var(--bleu)}
@container fccarte (min-width:620px){
  .fc-cmp-r{grid-template-columns:190px repeat(var(--n),minmax(0,1fr))}
  .fc-cmp-lib{grid-column:auto;align-self:center}
}

/* Sommaire d'une page — aperçu à l'écran (papier) */
.fc-sommaire{margin-top:14px;background:#fff;border:1px solid var(--trait);border-radius:6px;box-shadow:var(--ombre-2);
  padding:22px 22px 18px;font-size:.8rem;line-height:1.42;color:#1a1a1a;max-width:8.5in}
.fc-sommaire.fc-replie{display:none}
.fc-s-tete h2{font-family:var(--serif);font-size:1.12rem;color:#1a1a1a;margin:2px 0 4px;line-height:1.25}
.fc-s-marque{font-size:.68rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#6b5320}
.fc-s-sous{font-size:.74rem;color:#555}
.fc-s-montant{font-size:.92rem;margin:10px 0;padding:8px 10px;border:1.5px solid #1a1a1a;border-radius:4px}
.fc-s-montant .fc-montant{display:inline;font-size:1.05rem;margin:0}
.fc-sommaire h3{font-family:var(--sans);font-size:.72rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:#333;margin:10px 0 4px}
.fc-s-cols{display:grid;grid-template-columns:minmax(0,1fr);gap:4px 18px}
@container fccarte (min-width:640px){ .fc-s-cols{grid-template-columns:minmax(0,1fr) minmax(0,1fr)} .fc-s-sources{column-count:2;column-gap:18px} }
.fc-s-t{width:100%;border-collapse:collapse;font-size:.74rem}
.fc-s-t th,.fc-s-t td{border-bottom:1px solid #e3e3e3;padding:2px 4px;text-align:left;vertical-align:top}
.fc-s-t td:nth-child(n+2),.fc-s-t thead th:nth-child(n+2){text-align:right;white-space:nowrap}
.fc-s-lignes td:nth-child(2){text-align:left;white-space:normal}
.fc-s-lignes thead th:nth-child(2){text-align:left}
.fc-s-t thead th{font-size:.66rem;text-transform:uppercase;letter-spacing:.04em;color:#555;border-bottom:1px solid #999}
.fc-s-t tbody th{font-weight:600}
.fc-s-p{font-size:.74rem;margin-top:4px}
.fc-s-l{margin:0 0 0 14px;font-size:.74rem}
.fc-s-petit{font-size:.68rem;color:#444}
@container fccarte (max-width:559px){
  .fc-sommaire{padding:16px 14px 14px}
  .fc-s-lignes thead{display:none}
  .fc-s-lignes tr{display:grid;grid-template-columns:2.7rem repeat(3,minmax(0,1fr));gap:0 6px;border-bottom:1px solid #e3e3e3;padding:3px 0}
  .fc-s-lignes th,.fc-s-lignes td{border:0;padding:0 2px}
  .fc-s-lignes td:nth-child(2){grid-column:2 / -1}
  .fc-s-lignes td:nth-child(3){grid-column:2}
  .fc-s-lignes td:nth-child(n+3){text-align:left}
  .fc-s-lignes td:nth-child(n+3):not(:empty)::before{content:attr(data-col) " ";font-size:.6rem;font-weight:700;color:#777;text-transform:uppercase}
}
.fc-s-fl{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:4px 16px;font-size:.78rem}
.fc-s-fl li span::after{content:" :"}
.fc-sommaire[data-lang="en"] .fc-s-fl li span::after{content:":"}
.fc-s-fl li.fc-freq-choisie strong{text-decoration:underline}
.fc-s-avert p{font-size:.72rem;color:#333;margin-top:8px}
.fc-s-sources{margin:0 0 0 14px;font-size:.64rem;color:#444;overflow-wrap:anywhere}
.fc-s-sources li{break-inside:avoid;margin-bottom:2px}
.fc-s-gris{color:#555}
.fc-s-sources a{color:#1a1a1a;text-decoration:none}
.fc-url{color:#666}
.fc-s-pied{margin-top:8px;padding-top:6px;border-top:1px solid #999;font-size:.7rem;overflow-wrap:anywhere}
.fc-s-pied a{color:#1a1a1a}

/* État vide (dossier non familial) */
.fc-vide-etat p{font-size:.92rem;line-height:1.5;margin-top:6px}

@media (prefers-reduced-motion:reduce){.fc-vue *{transition:none!important;scroll-behavior:auto!important}}

/* ===================== IMPRESSION : le sommaire seul, une page Letter =====================
   app.css masque déjà la barre latérale, la barre du haut, le pied et la barre mobile, et
   n'imprime rien sans adhésion (body:not(.pem-premium) .ap). Ici : quand la vue Calculs
   est à l'écran, seul .fc-sommaire est imprimé, même replié. Page nommée : les autres
   impressions de l'application gardent leurs marges. */
@page fc-sommaire{size:letter;margin:9mm 11mm}
@media print{
  body:has(.fc-vue){background:#fff;min-height:0!important;padding:0!important}
  body:has(.fc-vue) .ap,body:has(.fc-vue) .ap-main,body:has(.fc-vue) #app{min-height:0!important;display:block!important;padding:0!important;margin:0!important}
  body:has(.fc-vue) .ap-main>:not(#app),body:has(.fc-vue) #toast,body:has(.fc-vue) #dialogue-fond{display:none!important}
  .fc-vue{container-type:normal}
  .fc-vue>:not(.fc-zone-sommaire){display:none!important}
  .fc-zone-sommaire .fc-sommaire-carte{border:0;box-shadow:none;padding:0;margin:0;background:none;container-type:normal}
  .fc-zone-sommaire .fc-sommaire-carte>:not(.fc-sommaire){display:none!important}
  .fc-vue .fc-sommaire,.fc-vue .fc-sommaire.fc-replie{display:block!important;page:fc-sommaire;border:0;box-shadow:none;border-radius:0;
    padding:0;margin:0;max-width:none;font-size:8pt;line-height:1.26;color:#000}
  .fc-s-cols{grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;gap:0 14pt}
  .fc-s-sources{column-count:2;column-gap:12pt}
  .fc-s-marque{font-size:6.4pt}
  .fc-s-tete h2{font-size:12pt;margin:1pt 0 2pt}
  .fc-s-sous{font-size:7pt}
  .fc-sommaire h3{font-size:6.6pt;margin:5pt 0 1.5pt}
  .fc-s-montant{font-size:9.4pt;margin:5pt 0 2pt;padding:4pt 7pt}
  .fc-s-montant .fc-montant{font-size:10.6pt}
  .fc-s-t{font-size:7pt}
  .fc-s-t th,.fc-s-t td{padding:.6pt 3pt}
  .fc-s-t thead th{font-size:6pt}
  .fc-s-l,.fc-s-p{font-size:7pt}
  .fc-s-petit{font-size:6.3pt}
  .fc-s-fl{font-size:7.6pt}
  .fc-s-avert p{font-size:6.4pt;margin-top:3pt;line-height:1.22}
  .fc-s-sources{font-size:6.1pt;line-height:1.2}
  .fc-s-sources li{margin-bottom:1pt}
  .fc-s-pied{font-size:6.6pt;margin-top:4pt;padding-top:3pt}
  .fc-sommaire a{color:#000}
  .fc-s-t tr,.fc-s-sources li{break-inside:avoid}
}
