/* =========================================================
   SCOPE · Compta — module styles (only scope.css tokens)
   ========================================================= */
/* icons default to text size; components below set bigger ones */
:where(.cp) svg[viewBox="0 0 24 24"]{width:16px;height:16px}
.cp-kpi-l{display:flex;align-items:center;gap:6px}.cp-kpi-l svg{width:13px;height:13px}
.cp-muted{color:var(--muted);font-size:var(--fs-m)}
.cp-foot,.cp-more{color:var(--muted);font-size:var(--fs-s);margin-top:var(--sp-3)}
.cp-hint{color:var(--muted);font-size:var(--fs-s);font-weight:500}
.cp-count{font-size:var(--fs-xs);font-weight:800;color:var(--muted-2);background:var(--panel-3);border-radius:var(--r-pill);padding:1px 7px;margin-left:6px}
.cp-badge{display:inline-flex;align-items:center;height:20px;padding:0 8px;border-radius:var(--r-pill);font-size:var(--fs-xs);font-weight:800;background:var(--panel-3);color:var(--text-2);vertical-align:middle;letter-spacing:.02em}
.cp-badge.bad{background:var(--bad-soft);color:var(--bad-text)}.cp-badge.warn{background:var(--warn-soft);color:var(--warn-text)}.cp-badge.info{background:var(--info-soft);color:var(--info-text)}.cp-badge.good{background:var(--good-soft);color:var(--good-text)}
.cp-tag{display:inline-flex;align-items:center;gap:5px;height:22px;padding:0 9px;border-radius:var(--r-pill);font-size:var(--fs-xs);font-weight:700;background:var(--panel-3);color:var(--text-2);white-space:nowrap}
.cp-tag svg{width:12px;height:12px}
.cp-tag.good{background:var(--good-soft);color:var(--good-text)}.cp-tag.warn{background:var(--warn-soft);color:var(--warn-text)}.cp-tag.bad{background:var(--bad-soft);color:var(--bad-text)}.cp-tag.info{background:var(--info-soft);color:var(--info-text)}.cp-tag.o{background:var(--orange-soft);color:var(--orange)}
.cp-av{width:28px;height:28px;border-radius:50%;display:inline-grid;place-items:center;font-weight:800;font-size:12px;background:var(--orange-soft);color:var(--orange);flex:none}
.cp-dot{width:8px;height:8px;border-radius:50%;display:inline-block;flex:none;background:var(--muted)}
.cp-sync{display:inline-flex;align-items:center;gap:6px;font-size:var(--fs-s);font-weight:700;color:var(--muted-2)}
.cp-sync::before{content:'';width:8px;height:8px;border-radius:50%;background:var(--muted)}
.cp-sync.ok::before{background:var(--good)}.cp-sync.busy::before{background:var(--warn);animation:cp-pulse 1s infinite}.cp-sync.bad::before{background:var(--bad)}
@keyframes cp-pulse{50%{opacity:.35}}

/* sections */
.cp-sec{background:linear-gradient(180deg,#161616,#131313);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--hl),var(--sh-1);margin-top:var(--sp-4);min-width:0;overflow:hidden}
.cp-sec.bad{border-color:rgba(255,59,48,.35)}.cp-sec.warn{border-color:rgba(255,214,10,.3)}.cp-sec.good{border-color:rgba(22,214,107,.3)}.cp-sec.o{border-color:var(--orange-line)}
.cp-sec-h{display:flex;align-items:center;gap:var(--sp-3);padding:var(--sp-4) var(--sp-5);border-bottom:1px solid var(--line);flex-wrap:wrap}
.cp-sec-i{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;background:var(--orange-soft);color:var(--orange);flex:none}
.cp-sec-i svg{width:18px;height:18px}
.cp-sec.bad .cp-sec-i{background:var(--bad-soft);color:var(--bad-text)}.cp-sec.warn .cp-sec-i{background:var(--warn-soft);color:var(--warn-text)}.cp-sec.good .cp-sec-i{background:var(--good-soft);color:var(--good-text)}
.cp-sec-t{flex:1;min-width:180px}
.cp-sec-t h2{font-size:15px;font-weight:900;text-transform:uppercase;letter-spacing:.02em;line-height:1.2}
.cp-sec-t p{color:var(--muted);font-size:var(--fs-s);margin-top:2px}
.cp-sec-a{display:flex;gap:var(--sp-2);flex-wrap:wrap;align-items:center}
.cp-sec-b{padding:var(--sp-4) var(--sp-5)}
.cp-sec-b>.tw,.cp-sec-b>.ui-table{margin:0 calc(-1 * var(--sp-5))}

/* KPIs + tiles */
.cp-kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:var(--sp-3)}
.cp-kpi{background:linear-gradient(180deg,#161616,#121212);border:1px solid var(--line);border-radius:var(--r);padding:16px 18px;box-shadow:var(--hl);display:flex;flex-direction:column;gap:4px;min-width:0;position:relative;overflow:hidden}
.cp-kpi.main{background:linear-gradient(160deg,#211307,#141414 60%);border-color:var(--orange-line)}
.cp-kpi-l{font-size:var(--fs-xs);font-weight:800;text-transform:uppercase;letter-spacing:.14em;color:var(--muted)}
.cp-kpi-v{font-size:26px;font-weight:900;letter-spacing:-.01em;line-height:1.1}
.cp-kpi-v.neg,.cp-kpi .neg{color:var(--bad-text)}.cp-kpi-v.pos{color:var(--good-text)}
.cp-kpi-s{font-size:var(--fs-s);color:var(--muted-2)}
.cp-kpi-bar{display:block;height:5px;border-radius:5px;background:var(--panel-3);overflow:hidden;margin-top:6px}
.cp-kpi-bar i{display:block;height:100%;background:var(--orange);border-radius:5px}
.cp-tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:var(--sp-3)}
.cp-tile{display:flex;flex-direction:column;gap:4px;padding:16px;border-radius:var(--r);border:1px solid var(--line);background:var(--panel);transition:border-color .2s,transform .2s var(--ease)}
.cp-tile:hover{transform:translateY(-2px);border-color:var(--orange-line)}
.cp-tile b{font-size:28px;font-weight:900;line-height:1}
.cp-tile>span:not(.cp-tile-i){font-weight:700;font-size:var(--fs-m)}
.cp-tile small{color:var(--muted);font-size:var(--fs-xs)}
.cp-tile-i{width:30px;height:30px;border-radius:9px;display:grid;place-items:center;background:var(--panel-3);margin-bottom:4px}
.cp-tile-i svg{width:16px;height:16px}
.cp-tile.bad .cp-tile-i{background:var(--bad-soft);color:var(--bad-text)}.cp-tile.bad b{color:var(--bad-text)}
.cp-tile.warn .cp-tile-i{background:var(--warn-soft);color:var(--warn-text)}
.cp-tile.info .cp-tile-i{background:var(--info-soft);color:var(--info-text)}
.cp-tile.good .cp-tile-i{background:var(--good-soft);color:var(--good-text)}

/* alerts + tasks */
.cp-alert{display:flex;gap:var(--sp-3);align-items:flex-start;padding:14px 16px;border-radius:var(--r-sm);border:1px solid var(--line-2);background:var(--panel);margin-top:var(--sp-3)}
.cp-alert.bad{background:var(--bad-soft);border-color:rgba(255,59,48,.3)}.cp-alert.warn{background:var(--warn-soft);border-color:rgba(255,214,10,.28)}.cp-alert.info{background:var(--info-soft);border-color:rgba(90,200,250,.28)}.cp-alert.good{background:var(--good-soft);border-color:rgba(22,214,107,.28)}
.cp-alert-i{flex:none;margin-top:1px}.cp-alert-i svg{width:18px;height:18px}
.cp-alert.bad .cp-alert-i{color:var(--bad-text)}.cp-alert.warn .cp-alert-i{color:var(--warn-text)}.cp-alert.info .cp-alert-i{color:var(--info-text)}.cp-alert.good .cp-alert-i{color:var(--good-text)}
.cp-alert-t{flex:1;min-width:0}.cp-alert-t b{font-weight:800}.cp-alert-t p{color:var(--text-2);font-size:var(--fs-m);margin-top:2px}
.cp-alert-a{display:flex;gap:var(--sp-2);flex-wrap:wrap;align-items:center}
.cp-tasks{display:flex;flex-direction:column;gap:6px}
.cp-task{display:flex;gap:var(--sp-3);align-items:center;padding:10px 12px;border-radius:var(--r-sm);background:var(--panel);border:1px solid var(--line);border-left:3px solid var(--muted)}
.cp-task.bad{border-left-color:var(--bad)}.cp-task.warn{border-left-color:var(--warn)}.cp-task.info{border-left-color:var(--info)}
.cp-task-i svg{width:16px;height:16px;color:var(--muted-2)}
.cp-task-t{flex:1;min-width:0}.cp-task-t b{font-weight:700;font-size:var(--fs-m)}.cp-task-t small{display:block;color:var(--muted);font-size:var(--fs-xs)}

/* toolbar + inputs */
.cp-tool{display:flex;gap:var(--sp-2);align-items:center;flex-wrap:wrap;margin-bottom:var(--sp-3)}
.cp-tool .sp{flex:1}
.cp-search{display:flex;align-items:center;gap:8px;height:38px;padding:0 12px;border-radius:11px;border:1px solid var(--line-2);background:var(--bg-2);min-width:220px;flex:1;max-width:360px}
.cp-search svg{width:16px;height:16px;color:var(--muted)}.cp-search input{border:0;background:none;outline:none;flex:1;min-width:0;height:100%}
.cp-sel,.cp-catsel{height:38px;border-radius:11px;border:1px solid var(--line-2);background:var(--bg-2);padding:0 10px;font-size:var(--fs-m);max-width:100%}
.cp-catsel{height:30px;font-size:var(--fs-s);border-radius:9px;padding:0 6px;max-width:200px}
.cp-chips{display:flex;gap:6px;flex-wrap:wrap}
.cp-chips button,.cp-chips a{height:30px;padding:0 12px;border-radius:var(--r-pill);border:1px solid var(--line-2);background:var(--panel);font-size:var(--fs-s);font-weight:700;color:var(--text-2)}
.cp-chips .on{background:var(--orange);border-color:var(--orange);color:#000}
.cp-tab{display:block;min-width:0}

/* tables */
.cp-t td{vertical-align:middle}
.cp-amt{font-weight:800;white-space:nowrap}.cp-amt.in{color:var(--good-text)}.cp-amt.out{color:var(--text)}
.cp-date{color:var(--muted);font-size:var(--fs-s);white-space:nowrap}
.cp-cat{display:inline-flex;align-items:center;gap:6px;font-size:var(--fs-s);color:var(--text-2);white-space:nowrap}
.cp-st{display:inline-flex;align-items:center;gap:5px;height:22px;padding:0 9px;border-radius:var(--r-pill);font-size:var(--fs-xs);font-weight:700;background:var(--panel-3);color:var(--text-2);white-space:nowrap}
.cp-st svg{width:12px;height:12px}
.cp-st.scope,.cp-st.in{background:var(--good-soft);color:var(--good-text)}.cp-st.qonto{background:var(--info-soft);color:var(--info-text)}.cp-st.missing{background:var(--bad-soft);color:var(--bad-text)}.cp-st.nonNeed{background:transparent;border:1px solid var(--line-2);color:var(--muted-2)}
.cp-stbtn{border:0;background:none;padding:0;cursor:pointer;display:inline-flex;align-items:center;gap:4px;white-space:nowrap;color:var(--muted)}.cp-stbtn svg{width:14px;height:14px}
.cp-row-a{display:flex;gap:4px;justify-content:flex-end;white-space:nowrap}

/* documents */
.cp-docstats{display:flex;gap:var(--sp-4);flex-wrap:wrap;color:var(--muted-2);font-size:var(--fs-s);margin-bottom:var(--sp-3)}
.cp-docs{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:var(--sp-3)}
.cp-doc{border:1px solid var(--line);border-radius:var(--r-sm);background:var(--panel);padding:12px;display:flex;flex-direction:column;gap:6px;min-width:0;cursor:pointer;transition:border-color .2s}
.cp-doc:hover{border-color:var(--orange-line)}
.cp-doctop{display:flex;align-items:center;gap:8px}
.cp-file{display:flex;align-items:center;gap:8px;min-width:0;font-weight:700;font-size:var(--fs-m)}
.cp-file svg{width:16px;height:16px;color:var(--orange);flex:none}
.cp-file span,.cp-doc b{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cp-doc-m{margin-left:auto;border:0;background:none;color:var(--muted);padding:4px;border-radius:8px}.cp-doc-m:hover{background:var(--panel-3);color:var(--text)}
.cp-drop{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;text-align:center;padding:26px;border:2px dashed var(--orange-line);border-radius:var(--r);background:rgba(255,115,0,.04);cursor:pointer;transition:background .2s,border-color .2s}
.cp-drop:hover,.cp-drop.over{background:var(--orange-soft);border-color:var(--orange)}
.cp-drop.sm{padding:14px;flex-direction:row;gap:10px;border-width:1px}
.cp-drop-i{width:40px;height:40px;border-radius:12px;display:grid;place-items:center;background:var(--orange-soft);color:var(--orange)}
.cp-drop.sm .cp-drop-i{width:30px;height:30px}
.cp-drop-i svg{width:20px;height:20px}
.cp-drop-t{font-weight:700;font-size:var(--fs-m)}.cp-drop-t small{display:block;font-weight:500;color:var(--muted);font-size:var(--fs-s)}
.cp-prev{border-radius:var(--r-sm);overflow:hidden;background:#0b0b0b;border:1px solid var(--line);aspect-ratio:3/4;max-height:60vh;display:grid}
.cp-prev iframe,.cp-prev img{width:100%;height:100%;border:0;object-fit:contain;background:#fff}
.cp-prev-0{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;color:var(--muted);font-size:var(--fs-s);padding:20px;text-align:center}
.cp-prev-0 svg{width:28px;height:28px}.cp-prev-0.bad{color:var(--bad-text)}

/* drawer */
.cp-dr{display:flex;flex-direction:column;gap:var(--sp-4)}
.cp-dr-hero{padding:18px;border-radius:var(--r);background:var(--panel);border:1px solid var(--line)}
.cp-dr-hero.in{background:linear-gradient(160deg,rgba(22,214,107,.12),var(--panel) 60%);border-color:rgba(22,214,107,.25)}
.cp-dr-hero.out{background:linear-gradient(160deg,#211307,var(--panel) 60%);border-color:var(--orange-line)}
.cp-dr-hero b,.cp-dr-hero .num{font-size:28px;font-weight:900}
.cp-dr-s{border-top:1px solid var(--line);padding-top:var(--sp-4)}
.cp-dr-s h3{font-size:var(--fs-xs);font-weight:800;text-transform:uppercase;letter-spacing:.14em;color:var(--muted);margin-bottom:var(--sp-2)}
.cp-dr-tags,.cp-dr-a{display:flex;gap:6px;flex-wrap:wrap;align-items:center}
.cp-dr-rel{display:flex;flex-direction:column;gap:6px}
.cp-dr-q{font-size:var(--fs-s)}

/* forms */
.cp-form{display:grid;gap:var(--sp-3)}
.cp-fields{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:var(--sp-3)}
.cp-f{display:flex;flex-direction:column;gap:5px;grid-column:span 6;min-width:0}
.cp-f.s2{grid-column:span 2}.cp-f.s3{grid-column:span 3}.cp-f.s4{grid-column:span 4}
.cp-f>span{font-size:var(--fs-xs);font-weight:800;text-transform:uppercase;letter-spacing:.1em;color:var(--muted)}
/* bank row label: our label on top, Qonto's raw label + payment method below */
.cp-lab{display:flex;flex-direction:column;min-width:0;max-width:440px}
.cp-lab b{font-weight:700;font-size:var(--fs-m);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cp-lab small{color:var(--muted);font-size:var(--fs-xs);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cp-inl{display:inline-flex;align-items:center;gap:8px;font-size:var(--fs-m);font-weight:600;cursor:pointer}
@media (max-width:700px){.cp-f.s2,.cp-f.s3,.cp-f.s4{grid-column:span 6}}
.cp-choose{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:var(--sp-2)}
.cp-choose-b{display:flex;align-items:center;gap:10px;padding:12px;border-radius:var(--r-sm);border:1px solid var(--line-2);background:var(--panel);text-align:left;font-weight:700;font-size:var(--fs-m)}
.cp-choose-b:hover,.cp-choose-b.on{border-color:var(--orange);background:var(--orange-soft)}
.cp-choose-i{width:28px;height:28px;border-radius:8px;display:grid;place-items:center;background:var(--panel-3)}.cp-choose-i svg{width:15px;height:15px}

/* links, suggestions, duplicates */
.cp-links,.cp-list,.cp-find,.cp-sugg,.cp-dups,.cp-rules{display:flex;flex-direction:column;gap:6px}
.cp-link,.cp-sugg-r,.cp-find-r,.cp-rule{display:flex;align-items:center;gap:var(--sp-3);padding:10px 12px;border-radius:var(--r-sm);background:var(--panel);border:1px solid var(--line);min-width:0}
.cp-link-i{width:28px;height:28px;border-radius:8px;display:grid;place-items:center;background:var(--panel-3);color:var(--orange);flex:none}.cp-link-i svg{width:15px;height:15px}
.cp-score{font-size:var(--fs-xs);font-weight:800;color:var(--good-text);background:var(--good-soft);border-radius:var(--r-pill);padding:1px 7px}
.cp-rule-s{color:var(--muted);font-size:var(--fs-s);flex:1;min-width:0}
.cp-rule-add{display:flex;gap:var(--sp-2);flex-wrap:wrap;margin-top:var(--sp-2)}
.cp-dup{padding:12px;border-radius:var(--r-sm);border:1px solid rgba(255,214,10,.28);background:var(--warn-soft)}
.cp-dup-rows{display:flex;flex-direction:column;gap:4px;margin:6px 0}
.cp-dup-r{display:flex;gap:10px;align-items:center;text-align:left;border:1px solid var(--line-2);background:var(--panel);border-radius:9px;padding:8px 10px}
.cp-dup-a{display:flex;gap:6px;flex-wrap:wrap}
.cp-li{display:flex;align-items:center;gap:var(--sp-3);width:100%;text-align:left;padding:10px 12px;border-radius:var(--r-sm);border:1px solid var(--line);background:var(--panel);transition:border-color .2s}
.cp-li:hover{border-color:var(--orange-line)}
.cp-li-main{flex:1;display:flex;align-items:center;gap:var(--sp-3);border:0;background:none;text-align:left;min-width:0;padding:0}
.cp-li-t{flex:1;min-width:0;font-weight:700;font-size:var(--fs-m);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cp-li-d{color:var(--muted);font-size:var(--fs-s);white-space:nowrap}

/* associés */
.cp-partners{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:var(--sp-3);margin-bottom:var(--sp-3)}
.cp-partner{display:flex;flex-direction:column;gap:4px;padding:16px;border-radius:var(--r);border:1px solid var(--line);background:var(--panel);transition:border-color .2s}
.cp-partner.on{border-color:var(--orange);background:linear-gradient(160deg,#211307,var(--panel) 60%)}
.cp-partner.bad{border-color:rgba(255,59,48,.45)}
.cp-partner-t{display:flex;align-items:center;gap:8px;font-weight:800}
.cp-partner-d{font-size:24px;font-weight:900}
.cp-partner-x{color:var(--muted);font-size:var(--fs-s)}
.cp-gauge{display:flex;height:6px;border-radius:6px;background:var(--panel-3);overflow:hidden;margin-top:6px}
.cp-gauge i{display:block;height:100%}.cp-gauge .sp{background:var(--orange)}.cp-gauge .ik{background:var(--info)}
.cp-legend{display:flex;gap:var(--sp-4);flex-wrap:wrap;font-size:var(--fs-s);color:var(--muted-2)}
.cp-legend i{display:inline-block;width:10px;height:10px;border-radius:3px;margin-right:6px;vertical-align:-1px}

/* bilan */
.cp-grid2{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:var(--sp-4)}
@media (max-width:900px){.cp-grid2{grid-template-columns:1fr}}
.cp-result{padding:20px;border-radius:var(--r);border:1px solid var(--line);background:var(--panel);text-align:center}
.cp-result b,.cp-result .num{font-size:34px;font-weight:900;display:block}
.cp-result.pos{border-color:rgba(22,214,107,.3)}.cp-result.pos b{color:var(--good-text)}
.cp-result.neg{border-color:rgba(255,59,48,.35)}.cp-result.neg b{color:var(--bad-text)}
.cp-stmt{display:flex;flex-direction:column}
.cp-stmt-r{display:flex;justify-content:space-between;gap:var(--sp-3);padding:8px 0;border-bottom:1px dashed var(--line-2);font-size:var(--fs-m)}
.cp-stmt-r.sub{color:var(--muted-2);padding-left:var(--sp-4);font-size:var(--fs-s)}
.cp-stmt-r.tot{font-weight:800;border-bottom:1px solid var(--line-3)}
.cp-stmt-r.res{font-weight:900;font-size:var(--fs-l);border-bottom:0;color:var(--orange)}
.cp-bs{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:var(--sp-4)}
.cp-assets{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:var(--sp-3)}
.cp-asset{border:1px solid var(--line);border-radius:var(--r);background:var(--panel);padding:16px;display:flex;flex-direction:column;gap:var(--sp-2)}
.cp-asset.virtual{border-style:dashed;opacity:.85}
.cp-asset-h{display:flex;align-items:center;gap:var(--sp-2);font-weight:800}
.cp-asset-k{display:flex;gap:var(--sp-4);flex-wrap:wrap;font-size:var(--fs-s);color:var(--muted-2)}
.cp-asset-plan{display:flex;flex-direction:column;gap:3px;font-size:var(--fs-s)}
.cp-asset-f{display:flex;gap:6px;flex-wrap:wrap;margin-top:auto}
.cp-mini{font-size:var(--fs-s);color:var(--muted-2)}
.cp-details summary{cursor:pointer;font-weight:700;color:var(--muted-2);font-size:var(--fs-s);padding:6px 0}

/* comptable (monthly packs) */
.cp-months{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:var(--sp-3)}
.cp-month{border:1px solid var(--line);border-radius:var(--r);background:linear-gradient(180deg,#161616,#131313);padding:16px;display:grid;grid-template-columns:auto minmax(0,1fr);grid-template-areas:'h h' 'r c' 'f f';gap:var(--sp-3) var(--sp-4);align-items:start}
.cp-month>header{grid-area:h;display:flex;align-items:flex-start;gap:var(--sp-2)}
.cp-month>header>div{flex:1}.cp-month h3{font-size:15px;font-weight:900;text-transform:uppercase}.cp-month header small{color:var(--muted);font-size:var(--fs-s)}
.cp-month .cp-ring{grid-area:r}.cp-month .cp-check{grid-area:c}
.cp-month>footer{grid-area:f;display:flex;gap:6px;align-items:center;flex-wrap:wrap;border-top:1px solid var(--line);padding-top:var(--sp-3)}
.cp-month>footer .sp{flex:1}
.cp-month.envoye{border-color:rgba(22,214,107,.3)}.cp-month.pret{border-color:var(--orange-line)}.cp-month.focus{box-shadow:var(--sh-glow)}
.cp-ring{--p:0;width:76px;height:76px;border-radius:50%;display:grid;place-items:center;background:conic-gradient(var(--orange) calc(var(--p) * 1%),var(--panel-3) 0)}
.cp-ring b{width:60px;height:60px;border-radius:50%;background:var(--panel);display:grid;place-items:center;font-size:18px;font-weight:900}
.cp-ring small{font-size:10px;margin-left:1px}
.cp-check{list-style:none;display:flex;flex-direction:column;gap:6px}
.cp-check li{display:flex;gap:8px;align-items:flex-start;font-size:var(--fs-s)}
.cp-check li>span svg{width:14px;height:14px;margin-top:2px}
.cp-check li.ok>span{color:var(--good-text)}.cp-check li.no>span{color:var(--warn-text)}
.cp-check li b{display:block;font-weight:700}.cp-check li a{color:var(--muted);text-decoration:underline;text-underline-offset:2px}
.cp-prog{display:block;height:5px;border-radius:5px;background:var(--panel-3);overflow:hidden}.cp-prog i{display:block;height:100%;background:var(--orange)}
.cp-lock,.cp-lockline{display:inline-flex;align-items:center;gap:5px;color:var(--muted-2);font-size:var(--fs-s);font-weight:700}
.cp-lock svg,.cp-lockline svg{width:13px;height:13px}
label.cp-check{display:inline-flex;flex-direction:row;align-items:center;gap:8px;cursor:pointer}

/* Frais km shown as a Compta tab: the Compta header already names the page */
.cp-tab[data-tab="km"] > .ph{margin-top:var(--sp-2)}
.cp-tab[data-tab="km"] > .ph .pill,.cp-tab[data-tab="km"] > .ph h1{display:none}

/* miniatures des justificatifs + visionneuse plein écran */
.cp-lab.doc{flex-direction:row;align-items:center;gap:12px;max-width:520px}
.cp-lab.doc>span:last-child{display:flex;flex-direction:column;min-width:0}
.cp-th{width:44px;height:58px;border-radius:7px;border:1px solid var(--line-2);background:var(--panel-3);display:grid;place-items:center;flex:none;overflow:hidden;cursor:zoom-in;color:var(--muted);transition:transform .15s var(--ease),border-color .15s}
.cp-th svg{width:18px;height:18px}
.cp-th.sm{width:30px;height:40px;border-radius:5px}.cp-th.sm svg{width:14px;height:14px}
.cp-th img{width:100%;height:100%;object-fit:cover;object-position:top;background:#fff}
.cp-th:hover{transform:scale(1.06);border-color:var(--orange)}
.cp-th.err{opacity:.5}
.cp-stcell{display:inline-flex;align-items:center;gap:8px;justify-content:flex-end}
.cp-zoom{position:fixed;inset:0;z-index:200;background:rgba(0,0,0,.82);backdrop-filter:blur(6px);display:grid;place-items:center;padding:24px;animation:cp-fade .15s}
@keyframes cp-fade{from{opacity:0}}
.cp-zoom-in{width:min(980px,100%);height:min(92vh,100%);display:flex;flex-direction:column;background:var(--panel);border:1px solid var(--line-2);border-radius:var(--r);overflow:hidden;box-shadow:var(--sh-3)}
.cp-zoom-in header{display:flex;align-items:center;gap:8px;padding:12px 14px;border-bottom:1px solid var(--line)}
.cp-zoom-in header b{font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}
.cp-zoom-in header .sp{flex:1}
.cp-prev.big{flex:1;max-height:none;aspect-ratio:auto;border:0;border-radius:0}

/* carte justificatif (tiroir) : miniature + nom + actions */
.cp-doc{flex-direction:row;align-items:center;gap:10px;cursor:default}
.cp-doc-i{flex:1;min-width:0;display:flex;flex-direction:column;align-items:flex-start;gap:2px;text-align:left;border:0;background:none;color:inherit;padding:0;cursor:pointer}
.cp-doc-i b{max-width:100%;font-size:var(--fs-s)}
.cp-doc-i small{color:var(--muted);font-size:var(--fs-xs);line-height:1.35}
.cp-doc-i:hover b{color:var(--orange)}
.cp-doc-a{display:flex;gap:2px;flex:none}
.cp-docs{grid-template-columns:1fr}
