.chantier-fec{--ink:var(--mc-text);--ink2:var(--mc-text-2);--ink3:var(--mc-text-3);--card:var(--mc-surface);--line:var(--mc-border);--line2:var(--mc-border-2);--hover:var(--mc-hover);--primary:var(--mc-accent);--primary2:var(--mc-accent-h);--tint:var(--mc-accent-soft);--tint-ink:var(--mc-accent);--accent:var(--mc-accent);--pos:var(--mc-pos);--neg:var(--mc-neg);--warn:var(--mc-warn);--pos-bg:color-mix(in srgb, var(--mc-pos) 12%, transparent);--pos-line:color-mix(in srgb, var(--mc-pos) 32%, transparent);--neg-bg:color-mix(in srgb, var(--mc-neg) 12%, transparent);--neg-line:color-mix(in srgb, var(--mc-neg) 32%, transparent);--blue:#2e6bd6;--blue-bg:#2e6bd61f;--purple:#6d5bd0;--purple-bg:#6d5bd021;--due:#c98f2e;--r-card:18px;--r:11px;--r-pill:999px;max-width:1340px;color:var(--ink);margin:0 auto;padding:2px 2px 50px}[data-theme=dark] .chantier-fec{--blue:#6f9ef0;--purple:#9b8cf0;--due:#e0b34d}.chantier-fec .tnum{font-variant-numeric:tabular-nums}.chantier-fec .phead{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:18px;display:flex}.chantier-fec h1{letter-spacing:-.01em;flex-wrap:wrap;align-items:center;gap:11px;margin:0;font-size:25px;font-weight:500;display:flex}.chantier-fec .spill{border-radius:var(--r-pill);background:var(--blue-bg);color:var(--blue);padding:4px 10px;font-size:11.5px;font-weight:500}.chantier-fec .meta{color:var(--ink2);flex-wrap:wrap;align-items:center;gap:14px;margin-top:9px;font-size:13px;display:flex}.chantier-fec .meta b{color:var(--ink);font-weight:500}.chantier-fec .meta .d{background:var(--ink3);border-radius:50%;width:3px;height:3px}.chantier-fec .prov{color:var(--purple);background:var(--purple-bg);border-radius:var(--r-pill);align-items:center;gap:7px;padding:4px 10px;font-size:11.5px;font-weight:500;display:inline-flex}.chantier-fec .hactions{flex-wrap:wrap;gap:9px;display:flex}.chantier-fec .btn{border-radius:var(--r);border:1px solid var(--line2);background:var(--card);height:38px;color:var(--ink);box-shadow:var(--mc-shadow);align-items:center;gap:8px;padding:0 14px;font-size:13px;font-weight:500;display:inline-flex}.chantier-fec .btn:hover{background:var(--hover)}.chantier-fec .btn.primary{background:var(--primary);border-color:var(--primary);color:#fff}.chantier-fec .btn.primary:hover{background:var(--primary2)}.chantier-fec .crumb-back{color:var(--ink2);background:0 0;border:0;align-items:center;gap:5px;margin-bottom:14px;padding:0;font-size:12.5px;font-weight:500;display:inline-flex}.chantier-fec .crumb-back:hover{color:var(--ink)}.chantier-fec .kpis{grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:14px;display:grid}@media(max-width:820px){.chantier-fec .kpis{grid-template-columns:repeat(2,1fr)}}.chantier-fec .kpi{background:var(--card);border:1px solid var(--line);border-radius:var(--r-card);box-shadow:var(--mc-shadow);padding:15px 16px}.chantier-fec .kpi .k{color:var(--ink2);align-items:center;gap:6px;font-size:12px;font-weight:500;display:flex}.chantier-fec .tagsrc{border-radius:var(--r-pill);padding:1px 6px;font-size:9.5px;font-weight:500}.chantier-fec .src-fec{color:var(--blue);background:var(--blue-bg)}.chantier-fec .src-saisi{color:var(--ink2);background:var(--hover);border:1px solid var(--line)}.chantier-fec .kpi .v{letter-spacing:-.01em;margin-top:6px;font-size:23px;font-weight:500}.chantier-fec .kpi .v small{color:var(--ink3);font-size:14px;font-weight:500}.chantier-fec .kpi .sub{color:var(--ink3);margin-top:3px;font-size:11.5px}.chantier-fec .kpi.green .v{color:var(--pos)}.chantier-fec .budget-input{width:150px;font:inherit;color:var(--primary);border:0;border-bottom:1.5px dashed var(--line2);letter-spacing:-.01em;background:0 0;padding:2px 0;font-size:22px;font-weight:500}.chantier-fec .budget-input:focus{border-bottom-color:var(--accent);outline:0}.chantier-fec .card{background:var(--card);border:1px solid var(--line);border-radius:var(--r-card);box-shadow:var(--mc-shadow)}.chantier-fec .card-h{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;padding:14px 18px;display:flex}.chantier-fec .card-h h3{margin:0;font-size:14.5px;font-weight:500}.chantier-fec .card-h .hint{color:var(--ink3);font-size:11.5px}.chantier-fec .barwrap{padding:16px 18px}.chantier-fec .barlabels{color:var(--ink2);justify-content:space-between;margin-bottom:9px;font-size:12px;display:flex}.chantier-fec .track{background:var(--hover);border-radius:var(--r-pill);height:16px;position:relative}.chantier-fec .fill{border-radius:var(--r-pill);height:16px;display:flex;position:absolute;top:0;left:0;overflow:hidden}.chantier-fec .seg-paye{background:var(--pos)}.chantier-fec .seg-du{background:var(--due)}.chantier-fec .seg-over{background:var(--neg)}.chantier-fec .marker{background:var(--ink);opacity:.55;width:2px;height:26px;position:absolute;top:-5px}.chantier-fec .marker:after{content:attr(data-l);white-space:nowrap;color:var(--ink2);font-size:10.5px;font-weight:500;position:absolute;top:-17px;left:50%;transform:translate(-50%)}.chantier-fec .legend{color:var(--ink2);flex-wrap:wrap;gap:16px;margin-top:18px;font-size:12px;display:flex}.chantier-fec .legend i{vertical-align:middle;border-radius:3px;width:9px;height:9px;margin-right:6px;display:inline-block}.chantier-fec .alert{border-radius:11px;align-items:center;gap:9px;margin:14px 18px 0;padding:10px 13px;font-size:12.5px;font-weight:500;display:flex}.chantier-fec .alert.ok{color:var(--pos);background:var(--pos-bg);border:1px solid var(--pos-line)}.chantier-fec .alert.bad{color:var(--neg);background:var(--neg-bg);border:1px solid var(--neg-line)}.chantier-fec .concord{color:var(--ink2);flex-wrap:wrap;align-items:center;gap:8px;margin:12px 18px 16px;font-size:12px;display:flex}.chantier-fec .concord b{color:var(--ink)}.chantier-fec .ok-mini{color:var(--pos);align-items:center;gap:5px;font-weight:500;display:inline-flex}.chantier-fec .warn-mini{color:var(--warn);align-items:center;gap:5px;font-weight:500;display:inline-flex}.chantier-fec .cols{grid-template-columns:minmax(0,1.55fr) minmax(300px,1fr);align-items:start;gap:14px;margin-top:14px;display:grid}@media(max-width:920px){.chantier-fec .cols{grid-template-columns:1fr}}.chantier-fec table{border-collapse:collapse;width:100%}.chantier-fec thead th{letter-spacing:.03em;color:var(--ink3);text-align:left;border-bottom:1px solid var(--line);padding:9px 14px;font-size:11px;font-weight:500}.chantier-fec th.r,.chantier-fec td.r{text-align:right}.chantier-fec tbody td{border-bottom:1px solid var(--line);vertical-align:middle;padding:11px 14px}.chantier-fec tbody tr:last-child td{border-bottom:0}.chantier-fec tbody tr.flash td{animation:.6s chflash}@media(prefers-reduced-motion:reduce){.chantier-fec tbody tr.flash td{animation:none}}@keyframes chflash{0%{background:var(--tint)}to{background:0 0}}.chantier-fec .lot{font-size:13px;font-weight:500}.chantier-fec .ent{color:var(--ink2);margin-top:1px;font-size:12px}.chantier-fec .minibar{background:var(--hover);border-radius:var(--r-pill);width:74px;height:5px;margin-top:6px;overflow:hidden}.chantier-fec .minibar i{background:var(--accent);border-radius:var(--r-pill);height:100%;display:block}.chantier-fec .amt{font-size:13px;font-weight:500}.chantier-fec .amt.paye{color:var(--pos)}.chantier-fec .st{border-radius:var(--r-pill);white-space:nowrap;padding:2px 9px;font-size:10.5px;font-weight:500}.chantier-fec .st.cours{color:var(--blue);background:var(--blue-bg)}.chantier-fec .st.solde{color:var(--pos);background:var(--pos-bg)}.chantier-fec .cnum{color:var(--ink2);font-family:SFMono-Regular,ui-monospace,Menlo,monospace;font-size:11.5px}.chantier-fec .lt{color:var(--pos);align-items:center;gap:4px;font-size:10.5px;font-weight:500;display:inline-flex}.chantier-fec .nlt{color:var(--warn);font-size:10.5px;font-weight:500}.chantier-fec .empty{text-align:center;color:var(--ink3);padding:26px;font-size:12.5px}.chantier-fec .side{flex-direction:column;gap:14px;display:flex}.chantier-fec .ech{padding:6px 6px 10px}.chantier-fec .ech-row{border-radius:11px;align-items:center;gap:11px;padding:10px 12px;display:flex}.chantier-fec .ech-row:hover{background:var(--hover)}.chantier-fec .ech-date{text-align:center;flex-shrink:0;width:46px}.chantier-fec .ech-date .dd{font-size:16px;font-weight:500;line-height:1}.chantier-fec .ech-date .mm{color:var(--ink3);text-transform:uppercase;font-size:10px;font-weight:500}.chantier-fec .ech-main{flex:1;min-width:0}.chantier-fec .ech-main .f{white-space:nowrap;text-overflow:ellipsis;font-size:13px;font-weight:500;overflow:hidden}.chantier-fec .ech-main .s{color:var(--ink3);font-size:11px}.chantier-fec .ech-amt{white-space:nowrap;font-size:13px;font-weight:500}.chantier-fec .pay-btn{border:1px solid var(--line2);background:var(--card);height:28px;color:var(--ink2);border-radius:8px;padding:0 10px;font-size:11.5px;font-weight:500}.chantier-fec .pay-btn:hover{background:var(--pos-bg);border-color:var(--pos-line);color:var(--pos)}.chantier-fec .pay-btn:disabled{opacity:.5;cursor:not-allowed}.chantier-fec .ech-tot{border-top:1px solid var(--line);justify-content:space-between;padding:10px 14px;font-size:12.5px;font-weight:500;display:flex}.chantier-fec .minicard{padding:15px 16px}.chantier-fec .minicard h4{align-items:center;gap:8px;margin:0 0 4px;font-size:13px;font-weight:500;display:flex}.chantier-fec .minicard .big{margin:8px 0 2px;font-size:21px;font-weight:500}.chantier-fec .minicard p{color:var(--ink2);margin:4px 0 0;font-size:12px;line-height:1.5}.chantier-fec .dot{border-radius:50%;flex-shrink:0;width:9px;height:9px}.chantier-fec .btn-sm{border:1px solid var(--line2);background:var(--card);height:34px;color:var(--ink);border-radius:9px;justify-content:center;align-items:center;gap:7px;width:100%;margin-top:11px;padding:0 13px;font-size:12.5px;font-weight:500;display:inline-flex}.chantier-fec .btn-sm.purple{background:var(--purple);border-color:var(--purple);color:#fff}.chantier-fec .btn-sm:disabled{opacity:.6;cursor:not-allowed}.chantier-fec .foot-note{color:var(--ink3);align-items:center;gap:7px;margin-top:10px;font-size:11.5px;line-height:1.5;display:flex}
