/* ============================================================
   SFI FINANCE — v10-finance.css (novembre 2026)
   Chargé après v9.css. Préfixe fi- ; aucun style global modifié.
   Charte : marine #0B2545, or, crème (voir style.css).
   ============================================================ */
.fi [hidden]{display:none!important}
.fi,.fi *{box-sizing:border-box}
.fi{font-family:var(--f-ui);color:var(--ink);min-width:0}
.fi .vh{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.fi-main{background:#fff}
.fi-wait{font:500 .95rem/1.5 var(--f-ui);background:var(--ivoire);border:1px dashed var(--line-2);border-radius:var(--r-m);padding:14px 16px}

.fi-top{background:var(--ivoire);border:1px solid var(--line);border-top:3px solid var(--or);border-radius:var(--r-m);padding:14px 16px;margin:0 0 16px}
.fi-badges{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 10px}
.fi-mat,.fi-badge{display:inline-block;font:600 .8rem/1.2 var(--f-ui);padding:7px 11px;border-radius:20px;background:#fff;border:1px solid var(--line-2);color:var(--nuit);overflow-wrap:anywhere}
.fi-mat{background:#E3F1EA;border-color:#B8D8C6;color:var(--p-off)}
.fi-mat:before{content:"";display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--p-off);margin-right:7px}
.fi-note{font:400 .86rem/1.55 var(--f-ui);color:var(--muted);margin:10px 0 0;max-width:62rem}
.fi-top .fi-note{margin:0}

/* onglets */
.fi-tabs{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 16px;border-bottom:2px solid var(--line)}
.fi-tabs button{font:600 .88rem/1.2 var(--f-ui);padding:11px 13px;min-height:44px;background:#fff;color:var(--nuit);border:1px solid var(--line-2);border-bottom:0;border-radius:var(--r-s) var(--r-s) 0 0;cursor:pointer;margin-bottom:-2px}
.fi-tabs button:hover{background:var(--ivoire)}
.fi-tabs button[aria-selected=true]{background:var(--nuit);color:#fff;border-color:var(--nuit)}
.fi button:focus-visible,.fi input:focus-visible,.fi select:focus-visible,.fi textarea:focus-visible,.fi summary:focus-visible{outline:3px solid var(--or-clair);outline-offset:2px}
.fi-panel{min-width:0}
.fi-h{font:600 1.4rem/1.25 var(--f-ed);color:var(--nuit);margin:4px 0 8px}
.fi-h5{font:600 .78rem/1.3 var(--f-ui);text-transform:uppercase;letter-spacing:.1em;color:var(--nuit);margin:22px 0 10px}
.fi-lead{font:400 1rem/1.6 var(--f-ui);max-width:50rem;margin:0 0 14px}
.fi-small{font:400 .88rem/1.5 var(--f-ui);color:var(--muted);margin:0 0 10px}
.fi-card{background:#fff;border:1px solid var(--line);border-radius:var(--r-m);padding:18px 20px;box-shadow:var(--sh-1);margin:14px 0;min-width:0}
.fi-card h4{font:600 1.05rem/1.3 var(--f-ed);color:var(--nuit);margin:0 0 8px}
.fi-two{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.fi-two>.fi-card{margin:0}
.fi-grid4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:0 0 6px}

/* champs */
.fi-fld{min-width:0}
.fi-fld label{display:block;font:600 .85rem/1.35 var(--f-ui);color:var(--nuit);margin:0 0 5px}
.fi-fld small{display:block;font:400 .8rem/1.45 var(--f-ui);color:var(--muted);margin-top:5px}
.fi input[type=text],.fi input[type=date],.fi select,.fi textarea{width:100%;max-width:100%;font:400 1rem/1.3 var(--f-ui);padding:10px 12px;min-height:44px;border:1px solid var(--line-2);border-radius:var(--r-s);background:#fff;color:var(--ink)}
.fi textarea{min-height:90px;resize:vertical}
.fi input[type=file]{width:100%;max-width:100%;font:400 .92rem/1.3 var(--f-ui);padding:8px;border:1px dashed var(--line-2);border-radius:var(--r-s);background:var(--ivoire)}
.fi input[type=file]::file-selector-button{font:600 .88rem/1 var(--f-ui);background:var(--nuit);color:#fff;border:0;border-radius:var(--r-s);padding:10px 14px;margin-right:12px;cursor:pointer;min-height:40px}
.fi input[type=checkbox]{width:22px;height:22px;accent-color:var(--nuit)}
.fi-in{text-align:right;font-variant-numeric:tabular-nums}
.fi-retr{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 16px}
.fi-actions{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0 0}
.fi .btn.sm{margin:0;padding:9px 14px;font-size:.88rem;min-height:40px}
.fi .btn{margin-left:0}
.fi-msg{font:500 .9rem/1.5 var(--f-ui);color:var(--nuit);margin:10px 0 0;min-height:1.2em}
.fi-scen{max-width:420px;margin:6px 0 14px}

/* résultats d’import et alertes */
.fi-res{margin-top:12px;min-width:0}
.fi-file-line{font:400 .88rem/1.5 var(--f-ui);color:var(--muted);margin:0 0 8px;overflow-wrap:anywhere}
.fi-ok-line,.fi-okline{font:600 .92rem/1.5 var(--f-ui);color:var(--p-off);margin:8px 0 0}
.fi-al{position:relative;border-left:5px solid #8A93A1;background:#F3F5F8;border-radius:0 var(--r-m) var(--r-m) 0;padding:11px 14px 11px 14px;margin:10px 0;font:400 .92rem/1.5 var(--f-ui);min-width:0;overflow-wrap:anywhere}
.fi-al b{display:block;color:var(--nuit);font-weight:700}
.fi-al p{margin:4px 0 0}
.fi-al ul{margin:6px 0 0;padding-left:1.1em}.fi-al li{margin:2px 0}
.fi-al-k{display:inline-block;font:700 .66rem/1 var(--f-ui);letter-spacing:.07em;text-transform:uppercase;border-radius:20px;padding:4px 8px;margin-bottom:4px;background:#fff;color:var(--nuit)}
.fi-al-error{border-color:#8E2F45;background:#F8E9ED}.fi-al-error .fi-al-k{background:#8E2F45;color:#fff}
.fi-al-alert{border-color:#B3342F;background:#FBEAE8}.fi-al-alert .fi-al-k{background:#B3342F;color:#fff}
.fi-al-warn{border-color:#D18A00;background:#FBF3E1}.fi-al-warn .fi-al-k{background:#7A4C00;color:#fff}
.fi-al-info{border-color:#2F55A0;background:#EEF2FA}.fi-al-info .fi-al-k{background:#2F55A0;color:#fff}
.fi-al-ok{border-color:#1E6B48;background:#E7F3EC}.fi-al-ok .fi-al-k{background:#1E6B48;color:#fff}
.fi-empty{background:var(--ivoire);border:1px dashed var(--line-2);border-radius:var(--r-m);padding:14px 16px}
.fi-empty p{margin:0 0 8px}

/* tuiles */
.fi-src{font:400 .88rem/1.5 var(--f-ui);color:var(--muted);margin:0 0 10px;overflow-wrap:anywhere}
.fi-tiles{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:12px 0}
.fi-tile{background:#fff;border:1px solid var(--line);border-left:4px solid var(--or);border-radius:var(--r-m);padding:12px 14px;min-width:0}
.fi-tile span{display:block;font:600 .72rem/1.3 var(--f-ui);text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}
.fi-tile b{display:block;font:700 1.35rem/1.2 var(--f-ed);color:var(--nuit);margin:4px 0 2px;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
.fi-tile small{font:400 .8rem/1.4 var(--f-ui);color:var(--muted)}

/* tableaux */
.fi-tablewrap{overflow-x:auto;border:1px solid var(--line);border-radius:var(--r-m);background:#fff;margin:14px 0;-webkit-overflow-scrolling:touch}
.fi-scrolly{max-height:460px;overflow-y:auto}
.fi-table{border-collapse:collapse;width:100%;font:400 .93rem/1.45 var(--f-ui);font-variant-numeric:tabular-nums}
.fi-table caption{caption-side:top;text-align:left;padding:11px 14px;font:600 .78rem/1.3 var(--f-ui);letter-spacing:.06em;text-transform:uppercase;color:var(--nuit);background:var(--ivoire)}
.fi-table caption.vh{position:absolute}
.fi-table th,.fi-table td{padding:9px 12px;text-align:left;border-top:1px solid var(--line);vertical-align:top}
.fi-table thead th{background:var(--nuit);color:#fff;font-size:.8rem;border-top:0;font-weight:600;position:sticky;top:0}
.fi-table tbody th{font-weight:600;color:var(--nuit);background:#FBFAF6}
.fi-table tbody th small{display:block;font:400 .78rem/1.4 var(--f-ui);color:var(--muted);margin-top:2px}
.fi-table .num{text-align:right;white-space:nowrap}
.fi-table tr.tot th,.fi-table tr.tot td{background:#F3EFE2;font-weight:700}
.fi-table select{min-height:38px;padding:6px 8px;font-size:.88rem;min-width:0}
.fi-table td input[type=text]{min-height:38px;padding:6px 8px;font-size:.92rem}
.fi-w{width:64px;min-width:0}
.fi-mod{font:600 .64rem/1 var(--f-ui);background:#EEF2FA;color:var(--p-hyp);border-radius:20px;padding:3px 7px;margin-left:6px;vertical-align:middle}
.fi-x{font:600 .8rem/1 var(--f-ui);background:#fff;color:var(--p-hum);border:1px solid #D9B8C0;border-radius:var(--r-s);padding:8px 10px;min-height:36px;cursor:pointer}
.fi-x:hover{background:#F8E9ED}
.fi-bal.low{background:#FBF3E1;color:#7A4C00;font-weight:700}
.fi-bal.neg{background:#F8E9ED;color:#7A2338;font-weight:700}
.fi-bal.min{box-shadow:inset 0 0 0 2px var(--or-clair)}
.fi-det{border:1px solid var(--line);border-radius:var(--r-m);background:#fff;padding:0 16px 14px;margin:16px 0}
.fi-det>summary{font:600 .95rem/1.4 var(--f-ui);color:var(--nuit);cursor:pointer;padding:14px 0;min-height:44px}
.fi-add{display:grid;grid-template-columns:minmax(0,170px) minmax(0,1fr) auto auto;gap:12px;align-items:end;margin-top:12px}

/* encadrés */
.fi-def{font:400 .93rem/1.55 var(--f-ui);background:#F7F4EC;border-left:4px solid var(--or);padding:12px 16px;border-radius:0 var(--r-m) var(--r-m) 0;margin:14px 0}
.fi-fig{background:#fff;border:1px solid var(--line);border-radius:var(--r-m);padding:12px;margin:14px 0;overflow:hidden}
.fi-fig svg{display:block;max-width:100%;height:auto;margin:0 auto}
.fi-fig figcaption{font:400 .84rem/1.5 var(--f-ui);color:var(--muted);margin-top:8px}
.fi-tr{display:block;border-left:5px solid #1E6B48;background:#E7F3EC;border-radius:0 var(--r-m) var(--r-m) 0;padding:12px 16px;margin:14px 0;font:400 .95rem/1.5 var(--f-ui)}
.fi-tr b{color:var(--nuit)}
.fi-tr-watch{border-color:#D18A00;background:#FBF3E1}.fi-tr-alert{border-color:#8E2F45;background:#F8E9ED}

/* pastilles de statut */
.fi-chip{display:inline-block;font:600 .62rem/1 var(--f-ui);letter-spacing:.06em;text-transform:uppercase;border-radius:20px;padding:4px 8px;white-space:nowrap;vertical-align:middle}
.fi-chip.s-off{background:#E3F1EA;color:var(--p-off)}.fi-chip.s-sec{background:#FBEFD6;color:var(--p-est)}
.fi-chip.s-ver{background:#F8E9ED;color:var(--p-hum)}.fi-chip.s-hyp{background:#E8ECF4;color:var(--p-hyp)}.fi-chip.s-imp{background:#EEF0F4;color:#4A5563}

/* rapport imprimable (aperçu écran) */
.fi-print{display:none}
.fi-print.on{display:block}
.fi-sheet{background:#fff;border:1px solid var(--line-2);border-radius:var(--r-m);padding:22px 24px;box-shadow:var(--sh-2);max-width:820px;margin:16px auto 0;color:var(--ink);font:400 .93rem/1.5 var(--f-ui)}
.fi-sh-head{display:flex;justify-content:space-between;gap:14px;align-items:flex-start;border-bottom:3px solid var(--or-clair);padding-bottom:12px;margin-bottom:12px}
.fi-sh-k{font:600 .72rem/1.2 var(--f-ui);text-transform:uppercase;letter-spacing:.12em;color:var(--gold-dark);margin:0}
.fi-sh-head h2{font:600 1.55rem/1.2 var(--f-ed);color:var(--nuit);margin:4px 0;letter-spacing:-.01em}
.fi-sh-head p{margin:0;color:var(--muted);font-size:.88rem}
.fi-sh-id{font:700 .7rem/1.4 var(--f-ui);letter-spacing:.06em;color:#14573A;background:#E3F1EA;border:1px solid #B8D8C6;border-radius:4px;padding:6px 9px;text-align:center;text-transform:uppercase;flex:none}
.fi-sh-id b{display:block}
.fi-sh-src{font-size:.85rem;margin:0 0 8px}
.fi-sheet h3{font:600 .78rem/1.3 var(--f-ui);text-transform:uppercase;letter-spacing:.1em;color:var(--nuit);margin:18px 0 6px;border-bottom:1px solid var(--line);padding-bottom:4px}
.fi-sh-al{margin:0;padding-left:1.1em;font-size:.88rem}.fi-sh-al li{margin:3px 0}
.fi-sh-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}
.fi-sh-kpis .fi-tile b{font-size:1.1rem}
.fi-sh-tab{width:100%;border-collapse:collapse;font:400 .84rem/1.4 var(--f-ui);margin:6px 0;font-variant-numeric:tabular-nums}
.fi-sh-tab th,.fi-sh-tab td{padding:4px 7px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}
.fi-sh-tab thead th{background:var(--nuit);color:#fff;font-weight:600}
.fi-sh-tab tbody th{font-weight:600;color:var(--nuit)}
.fi-sh-tab .num{text-align:right;white-space:nowrap}
.fi-sh-src2 td{font-size:.78rem;color:var(--muted)}.fi-sh-src2 td.num{color:var(--ink)}
.fi-sh-p,.fi-sh-com{font-size:.88rem;margin:4px 0 6px}
.fi-sh-fig{overflow:hidden;margin:6px 0}.fi-sh-fig svg{display:block;max-width:100%;height:auto;margin:0 auto}
.fi-sh-list{font-size:.82rem;margin:4px 0;padding-left:1.1em}.fi-sh-list li{margin:3px 0}
.fi-sh-foot{margin-top:16px;border-top:1px solid var(--line);padding-top:8px}
.fi-sh-foot p{font:400 .74rem/1.45 var(--f-ui);color:var(--muted);margin:0}

/* page éditoriale */
.fi-mt{display:inline-block;font:600 .74rem/1 var(--f-ui);padding:5px 9px;border-radius:20px;white-space:nowrap}
.fi-mt-ok{background:#E3F1EA;color:#14573A}.fi-mt-prep{background:#EEF0F4;color:#4A5563}
.fi-dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:14px 0}
.fi-dlc{background:#fff;border:1px solid var(--line);border-top:4px solid var(--or);border-radius:var(--r-m);padding:16px 18px;min-width:0}
.fi-dlc h3{font:600 1.1rem/1.3 var(--f-ed);color:var(--nuit);margin:0 0 6px}
.fi-dlc p{font:400 .92rem/1.5 var(--f-ui);margin:0 0 10px}
.fi-fict{display:inline-block;font:700 .68rem/1 var(--f-ui);letter-spacing:.07em;text-transform:uppercase;color:#6B4B00;background:#FBEFD6;border:1px solid #E6CF98;border-radius:4px;padding:5px 8px;margin-bottom:8px}
.fi-layers{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:14px 0}
.fi-layer{background:var(--ivoire);border-radius:var(--r-m);padding:12px 14px;border-top:3px solid var(--nuit);font:400 .92rem/1.5 var(--f-ui)}
.fi-layer b{display:block;color:var(--nuit);margin-bottom:4px}
.fi-keep{background:var(--nuit);color:#fff;border-radius:var(--r-m);padding:16px 20px;margin:18px 0;font:400 1rem/1.6 var(--f-ui)}
.fi-keep b{color:var(--or-clair)}.fi-keep p{margin:0}

@media (max-width:1000px){
  .fi-grid4{grid-template-columns:repeat(2,minmax(0,1fr))}
  .fi-tiles{grid-template-columns:repeat(2,minmax(0,1fr))}
  .fi-add{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
  .fi-add .btn{width:100%}
}
@media (max-width:700px){
  .fi-two,.fi-grid4,.fi-retr,.fi-dl,.fi-layers{grid-template-columns:1fr}
  .fi-tiles{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  .fi-tile{padding:10px}.fi-tile b{font-size:1.1rem}
  .fi-add{grid-template-columns:1fr}
  .fi-tabs{gap:4px}
  .fi-tabs button{flex:1 1 calc(50% - 4px);border-bottom:1px solid var(--line-2);border-radius:var(--r-s);margin-bottom:0;padding:10px 8px;font-size:.84rem}
  .fi-card{padding:14px}
  .fi-actions .btn{flex:1 1 calc(50% - 8px);text-align:center}
  /* tableaux : une carte par ligne */
  .fi-tablewrap{overflow:visible;border:0;background:transparent}
  .fi-scrolly{max-height:520px;overflow-y:auto;overflow-x:hidden}
  .fi-table,.fi-table tbody,.fi-table tr,.fi-table th,.fi-table td{display:block;width:100%}
  .fi-table thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
  .fi-table caption{display:block;background:transparent;padding:6px 0}
  .fi-table tr{background:#fff;border:1px solid var(--line);border-radius:var(--r-m);margin:0 0 10px;padding:8px 12px}
  .fi-table tr.tot{background:#F3EFE2}
  .fi-table th,.fi-table td{border:0;padding:3px 0;background:transparent!important}
  .fi-table tbody th{border-bottom:1px solid var(--line);padding-bottom:6px;margin-bottom:4px}
  .fi-table td:before{content:attr(data-label);display:block;font:600 .7rem/1.25 var(--f-ui);color:var(--muted);margin-bottom:2px}
  .fi-table th[data-label]:before{content:none}
  .fi-table .num{text-align:left;white-space:normal}
  .fi-table td.num{font-weight:700}
  .fi-table select,.fi-table td input[type=text]{width:100%}
  .fi-w{width:100%}
  .fi-sig tbody th small{display:block}
  .fi-sheet{padding:14px}
  .fi-sh-head{flex-direction:column}
  .fi-sh-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}
  .fi-sh-tab{display:block;overflow-x:auto}
}

/* impression A4 : seul le rapport est imprimé */
@page{size:A4;margin:12mm}
@media print{
  html,body{background:#fff!important}
  .skip,header.nav,.drawer,.mbar,footer,main>section:not(.fi-main),main>nav{display:none!important}
  .fi-main{padding:0!important}.fi-main .wrap{max-width:none;padding:0}
  .fi-main .wrap>*:not(.fi-toolbox){display:none!important}
  .fi-toolbox>*:not(.fi){display:none!important}
  .fi>*:not(.fi-print){display:none!important}
  .fi-print,.fi-print[hidden]{display:block!important}
  .fi-sheet{border:0;box-shadow:none;max-width:none;padding:0;margin:0;-webkit-print-color-adjust:exact;print-color-adjust:exact}
  .fi-sheet *{-webkit-print-color-adjust:exact;print-color-adjust:exact}
  .fi-sh-fig,.fi-sh-tab,.fi-sh-kpis,.fi-sh-src2 tr{break-inside:avoid}
  .fi-sheet h3{break-after:avoid}
  .fi-sh-fig svg{max-height:80mm;width:auto}
  .fi-tablewrap{overflow:visible}
}
