:root{--encre:#1f2a3c;--doux:#5b6577;--fond:#f5f7fa;--carte:#fff;--bord:#dfe4ec;--marque:#1f3864;--accent:#2e75b6;--alerte:#c0392b;--alerte-fond:#fbe3df;--vigilance:#9a6700;--vigilance-fond:#fff4cc;--ok:#1e7b45;--saisir:#fff7bf}*{box-sizing:border-box}body{color:var(--encre);background:var(--fond);margin:0;font:14px/1.45 system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue,Arial,sans-serif}a{color:var(--accent)}.bandeau{background:var(--marque);color:#fff;align-items:center;gap:12px;padding:10px 20px;display:flex}.bandeau a,.bandeau button{color:#fff}.bandeau form{margin:0}.marque{font-size:17px;text-decoration:none}.espace{flex:1}.qui{opacity:.85}.page{max-width:1100px;margin:20px auto;padding:0 16px}.page.large{max-width:1500px}.carte{background:var(--carte);border:1px solid var(--bord);border-radius:8px;margin:14px 0;padding:14px 16px}.carte h2,.carte h3{color:var(--marque);margin:0 0 10px;font-size:15px}.defilement{overflow-x:auto}.aide{color:var(--doux);font-size:13px}.exemple{color:var(--vigilance)}.erreur{color:var(--alerte);background:var(--alerte-fond);border-radius:6px;padding:8px 12px}.succes{color:var(--ok)}input,select,button{font:inherit}input,select{border:1px solid var(--bord);color:var(--encre);background:#fff;border-radius:5px;padding:5px 7px}button,.bouton{border:1px solid var(--accent);color:var(--accent);cursor:pointer;background:#fff;border-radius:5px;padding:6px 12px;text-decoration:none;display:inline-block}button.principal{background:var(--accent);color:#fff}button:disabled{opacity:.55;cursor:default}button.discret{background:0 0;border-color:#0000}button.mini{padding:2px 6px;font-size:12px}button.danger{color:var(--alerte);border-color:var(--alerte)}.ligne-form{flex-wrap:wrap;align-items:center;gap:8px;margin-top:8px;display:flex}.tableau{border-collapse:collapse;width:100%;font-size:13px}.tableau th{text-align:left;color:var(--marque);border-bottom:1px solid var(--bord);white-space:nowrap;background:#eef2f8;padding:6px 8px;font-weight:600}.tableau td{vertical-align:middle;border-bottom:1px solid #eef1f5;padding:4px 8px}.num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}td.alerte,.num.alerte{color:var(--alerte);background:var(--alerte-fond);font-weight:600}td.a-saisir{background:var(--saisir)}input.nombre{text-align:right;width:110px}input.court{width:90px}input.large{width:260px}.pourcent{white-space:nowrap}.pourcent input{width:70px}.collab{white-space:nowrap}.collab input{width:150px}.pastille{color:var(--accent);background:#e3eefa;border-radius:10px;margin-left:4px;padding:1px 6px;font-size:11px}.pastille.alerte{background:var(--vigilance-fond);color:var(--vigilance)}.entete-affaire{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.titres{flex-direction:column;flex:1;gap:4px;min-width:260px;display:flex}input.titre{background:0 0;border-color:#0000;font-size:20px;font-weight:600}input.client{color:var(--doux);background:0 0;border-color:#0000}.kpis{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px;margin:14px 0;display:grid}.kpi{background:var(--carte);border:1px solid var(--bord);border-radius:8px;flex-direction:column;padding:10px 12px;display:flex}.kpi span{color:var(--doux);font-size:12px}.kpi strong{font-variant-numeric:tabular-nums;font-size:19px}.kpi em{color:var(--doux);font-size:12px;font-style:normal}.kpi.alerte{border-color:var(--alerte);background:var(--alerte-fond)}.kpi.vigilance{background:var(--vigilance-fond);border-color:#e6c200}.onglets{border-bottom:2px solid var(--bord);flex-wrap:wrap;gap:4px;display:flex}.onglet{color:var(--doux);background:0 0;border:none;border-radius:6px 6px 0 0;padding:8px 14px}.onglet.actif{background:var(--marque);color:#fff}.kanban{grid-template-columns:repeat(6,minmax(140px,1fr));gap:8px;display:grid;overflow-x:auto}.colonne{background:#f0f3f8;border-radius:6px;min-height:80px;padding:8px}.colonne h4{margin:0 0 6px;font-size:13px}.compte{background:var(--marque);color:#fff;border-radius:10px;padding:0 7px;font-size:11px}.fiche{border:1px solid var(--bord);background:#fff;border-radius:5px;margin-bottom:5px;padding:5px 7px;font-size:12px}.grille-champs{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:10px 16px;display:grid}.grille-champs h3{grid-column:1/-1}.grille-champs label{justify-content:space-between;align-items:center;gap:8px;display:flex}.sensibilite td,.sensibilite th{text-align:center}.vivier{border-color:var(--accent)}.connexion{background:var(--carte);border:1px solid var(--bord);border-radius:10px;max-width:380px;margin:10vh auto;padding:28px}.connexion h1{color:var(--marque);margin:0}.sous-titre{color:var(--doux);margin-top:4px}.connexion form{flex-direction:column;gap:12px;display:flex}.connexion label{flex-direction:column;gap:4px;display:flex}progress{width:120px}@media (width<=700px){.kanban{grid-template-columns:repeat(2,1fr)}.page{padding:0 10px}}.indicateurs{grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:12px;margin:12px 0;display:grid}.indicateur{background:var(--carte);border:1px solid var(--bord);border-left-width:5px;border-radius:8px;padding:12px 14px}.indicateur header{flex-direction:row-reverse;justify-content:space-between;align-items:baseline;gap:8px;display:flex}.indicateur h4{color:var(--marque);margin:0;font-size:14px}.indicateur .niveau{white-space:nowrap;font-size:11px;font-weight:600}.indicateur .valeur{align-items:baseline;gap:10px;margin:6px 0;display:flex}.indicateur .valeur strong{font-variant-numeric:tabular-nums;font-size:22px}.indicateur .cible{color:var(--doux);font-size:12px}.indicateur .constat{color:var(--doux);margin:4px 0;font-size:13px}.indicateur .action{margin:6px 0 0;font-size:13px}.indicateur.ok{border-left-color:var(--ok)}.indicateur.ok .niveau{color:var(--ok)}.indicateur.vigilance{border-left-color:#e6a700}.indicateur.vigilance .niveau{color:var(--vigilance)}.indicateur.alerte{border-left-color:var(--alerte);background:#fff8f7}.indicateur.alerte .niveau{color:var(--alerte)}.indicateur.info{border-left-color:var(--accent)}.indicateur.info .niveau{color:var(--accent)}td.vigilance,.num.vigilance{background:var(--vigilance-fond)}.calendrier td.cal{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap;min-width:78px;font-size:12px}.cal.facture{background:#eef7f1}.cal.facture.reel{background:#cfe9d9;font-weight:600}.cal.sans-ca{background:#fdecea}.cal.sans-ca.reel{background:#f8cbc5;font-weight:600}.cal.non-chiffre{color:var(--doux);background:repeating-linear-gradient(45deg,#f4f4f4,#f4f4f4 4px,#e9e9e9 4px 8px)}.cal.hors{background:#fafafa}.calendrier th.situe{box-shadow:inset 0 -3px 0 var(--accent)}.calendrier tfoot tr.total th,.calendrier tfoot tr.total td{background:#eef2f8;font-size:12px;font-weight:600}.negatif{color:var(--alerte)}.saisie-reel{flex-direction:column;gap:2px;margin-top:3px;display:flex}input.mini{width:74px;padding:2px 4px;font-size:11px}.legende-cal{flex-wrap:wrap;gap:6px;font-size:11px;display:flex}.legende-cal span{border:1px solid var(--bord);border-radius:4px;padding:2px 8px}.graphique{width:100%;height:auto;max-height:260px}.graphique .grille{stroke:#e6e9ef;stroke-width:1px}.graphique .base{stroke:#9aa3b2;stroke-width:1px}.graphique .axe{fill:var(--doux);font-size:11px}.graphique .barre-ca{fill:#2a78d6}.graphique .barre-cout{fill:#eb6834}.legende-graphique{color:var(--doux);align-items:center;gap:6px;font-size:12px;display:flex}.puce{border-radius:2px;width:10px;height:10px;display:inline-block}.puce.ca{background:#2a78d6}.puce.cout{background:#eb6834;margin-left:10px}.cal.non-demarre{color:#8a8a8a;background:#f1f1f1;font-style:italic}.synchro{border-color:var(--accent)}.rapport{background:#f3f8fd;border-radius:6px;margin-top:10px;padding:8px 12px}.rapport h4{color:var(--ok);margin:0 0 6px}.rapport li.vigilance{color:var(--vigilance)}tbody.poste>tr:first-child td{border-top:1px solid var(--bord)}tr.detail>td{background:#f7f9fc;padding:8px 10px 14px}.pistes tr.retenue td{background:#eef7f1}.pistes tr.abandonnee td{color:#9a9a9a;text-decoration:line-through}.pistes tr.abandonnee td.actions,.pistes tr.abandonnee td.actions *{text-decoration:none}.journal{border:1px solid var(--bord);background:#fff;border-radius:6px;margin-top:8px;padding:8px 12px;font-size:12px}.journal h4{margin:0 0 6px}.journal .quand{color:var(--doux)}.motif{font-size:12px;font-style:italic}input.motif{width:160px}button.mini.actif{background:var(--accent);color:#fff}.simulation{background:#fff8e1;border:1px solid #f0d27a;border-radius:6px;padding:6px 12px;font-size:13px}.aide.pleine{grid-column:1/-1}td.actions{white-space:nowrap}