/* Krtier Équipe — styles isolés (toutes les règles sont sous .ch ou préfixées eq-) */
:root{--ch-bg:#f4f6f9;--ch-card:#fff;--ch-txt:#1d2733;--ch-mut:#64748b;--ch-pri:#0f766e;--ch-pri2:#115e59;--ch-bord:#dde3ea;--ch-err:#b91c1c;--ch-ok:#15803d}
@media (prefers-color-scheme:dark){:root{--ch-bg:#0f172a;--ch-card:#1e293b;--ch-txt:#e5e7eb;--ch-mut:#94a3b8;--ch-pri:#2dd4bf;--ch-pri2:#5eead4;--ch-bord:#334155;--ch-err:#f87171;--ch-ok:#4ade80}}
body.ch{margin:0;background:var(--ch-bg);color:var(--ch-txt);font:15px/1.5 system-ui,-apple-system,Segoe UI,Roboto,sans-serif}
.ch *{box-sizing:border-box}
.ch a{color:var(--ch-pri)}
.ch-top{display:flex;flex-wrap:wrap;align-items:center;gap:12px 24px;padding:10px 20px;background:var(--ch-card);border-bottom:1px solid var(--ch-bord)}
.ch-marque{font-weight:700;font-size:18px;text-decoration:none;color:var(--ch-txt)!important}
.ch-marque span{color:var(--ch-pri)}
.ch-nav{display:flex;flex-wrap:wrap;gap:4px;flex:1}
.ch-nav a{padding:6px 12px;border-radius:6px;text-decoration:none;color:var(--ch-txt)}
.ch-nav a:hover{background:var(--ch-bg)}
.ch-nav a.actif{background:var(--ch-pri);color:#fff}
.ch-user{display:flex;align-items:center;gap:14px;font-size:13px;color:var(--ch-mut)}
.ch-lien{background:none;border:0;color:var(--ch-pri);cursor:pointer;font:inherit;padding:0;text-decoration:underline}
.ch-main{max-width:1100px;margin:24px auto;padding:0 16px}
.ch h1{font-size:22px;margin:0 0 16px}
.ch h2{font-size:17px;margin:0 0 10px}
.ch-carte{background:var(--ch-card);border:1px solid var(--ch-bord);border-radius:10px;padding:18px;margin-bottom:16px}
.ch-grille{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:14px;margin-bottom:16px}
.ch-chiffre{font-size:28px;font-weight:700;color:var(--ch-pri)}
.ch-mut{color:var(--ch-mut);font-size:13px}
.ch-alerte{padding:10px 14px;border-radius:8px;margin-bottom:14px;border:1px solid}
.ch-ok{border-color:var(--ch-ok);color:var(--ch-ok)}
.ch-err{border-color:var(--ch-err);color:var(--ch-err)}
.ch table{width:100%;border-collapse:collapse}
.ch th,.ch td{text-align:left;padding:8px 10px;border-bottom:1px solid var(--ch-bord);vertical-align:top}
.ch th{font-size:12px;text-transform:uppercase;letter-spacing:.04em;color:var(--ch-mut)}
.ch-tablewrap{overflow-x:auto}
.ch label{display:block;font-weight:600;margin:12px 0 4px}
.ch input[type=text],.ch input[type=email],.ch input[type=password],.ch textarea{width:100%;max-width:520px;padding:8px 10px;border:1px solid var(--ch-bord);border-radius:6px;background:var(--ch-card);color:var(--ch-txt);font:inherit}
.ch select{width:100%;max-width:420px;padding:8px 10px;border:1px solid var(--ch-bord);border-radius:6px;background:var(--ch-card);color:var(--ch-txt);font:inherit}
.ch-btn{display:inline-block;padding:8px 16px;border:0;border-radius:6px;background:var(--ch-pri);color:#fff!important;font:inherit;font-weight:600;cursor:pointer;text-decoration:none}
.ch-btn:hover{background:var(--ch-pri2)}
.ch-btn.sec{background:transparent;color:var(--ch-pri)!important;border:1px solid var(--ch-pri)}
.ch-btn.dng{background:var(--ch-err)}
.ch-pastille{display:inline-block;padding:2px 8px;border-radius:99px;font-size:12px;background:var(--ch-bg);border:1px solid var(--ch-bord)}
.ch-secret{font:700 18px/1.2 ui-monospace,Menlo,Consolas,monospace;background:var(--ch-bg);border:2px dashed var(--ch-pri);padding:10px 14px;border-radius:8px;display:inline-block;user-select:all}
.ch-connexion{max-width:380px;margin:12vh auto}
.ch-inline{display:inline}
.ch-perms{columns:2 280px}
.ch-perms label{font-weight:400;margin:2px 0}
.ch-perms h3{font-size:13px;margin:12px 0 4px;color:var(--ch-mut);text-transform:uppercase}
.ch-matrice td,.ch-matrice th{text-align:center}.ch-matrice td:first-child,.ch-matrice th:first-child{text-align:left}
/* Phase 2 */
.ch textarea,.ch input[type=date]{width:100%;max-width:640px;padding:8px 10px;border:1px solid var(--ch-bord);border-radius:6px;background:var(--ch-card);color:var(--ch-txt);font:inherit}
.ch-badge{display:inline-block;min-width:18px;padding:0 6px;border-radius:99px;background:var(--ch-err);color:#fff;font-size:12px;text-align:center}
.ch-bloc{text-decoration:none;color:var(--ch-txt)!important;display:block}
.ch-bloc:hover{border-color:var(--ch-pri)}
.ch-s-retard,.ch-s-a_corriger{border-color:var(--ch-err);color:var(--ch-err)}
.ch-s-terminee,.ch-s-valide{border-color:var(--ch-ok);color:var(--ch-ok)}
.ch-s-validation,.ch-s-soumis{border-color:var(--ch-pri);color:var(--ch-pri)}
.ch-notif{padding:8px 0;border-bottom:1px solid var(--ch-bord)}
.ch-nonlue{border-left:4px solid var(--ch-pri);padding-left:10px}
/* Phase 3 */
.ch-s-converti,.ch-s-publie{border-color:var(--ch-ok);color:var(--ch-ok)}
.ch-s-perdu,.ch-s-annule{border-color:var(--ch-mut);color:var(--ch-mut)}
.ch-s-interesse,.ch-s-negociation,.ch-s-a_valider{border-color:var(--ch-pri);color:var(--ch-pri)}
/* Phase 3B */
.ch-s-planifiee,.ch-s-demandee,.ch-s-a_faire,.ch-s-en_cours{border-color:var(--ch-pri);color:var(--ch-pri)}
.ch-s-tenue,.ch-s-approuvee,.ch-s-payee,.ch-s-fait{border-color:var(--ch-ok);color:var(--ch-ok)}
.ch-s-refusee,.ch-s-abandonnee{border-color:var(--ch-err);color:var(--ch-err)}
/* Phase 6 : audit */
.ch-sev-critique{color:#fff;background:#991b1b;border-color:#991b1b}.ch-sev-haute{color:var(--ch-err);border-color:var(--ch-err)}
.ch-sev-moyenne{color:#b45309;border-color:#b45309}.ch-sev-faible{color:var(--ch-mut)}.ch-sev-info{color:var(--ch-mut)}
div.ch-chiffre.ch-sev-critique{background:none;color:#991b1b}div.ch-chiffre.ch-sev-haute{color:var(--ch-err)}div.ch-chiffre.ch-sev-moyenne{color:#b45309}
.ch-code{background:var(--ch-bg);border:1px solid var(--ch-bord);border-radius:6px;padding:8px 10px;overflow-x:auto;font:13px/1.4 ui-monospace,Menlo,Consolas,monospace;white-space:pre-wrap;word-break:break-all}
/* Phase 8 — statistiques */
.ch-filtre{display:flex;flex-wrap:wrap;gap:8px 16px;align-items:flex-end}
.ch-filtre label{margin:0 0 4px}
.ch-2col{grid-template-columns:repeat(auto-fit,minmax(320px,1fr))}
.ch-svg{width:100%;height:auto;display:block}
.ch-bar{fill:var(--ch-pri)}
.ch-axe{fill:var(--ch-mut);font-size:11px}
.ch-up{color:var(--ch-ok);font-weight:600}.ch-down{color:var(--ch-err);font-weight:600}
.ch-hb{list-style:none;margin:0;padding:0}
.ch-hb li{display:grid;grid-template-columns:minmax(90px,38%) 1fr auto;gap:8px;align-items:center;padding:4px 0}
.ch-hb-l{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ch-hb-b{display:block;height:8px;border-radius:99px;background:var(--ch-bg);overflow:hidden}
.ch-hb-b i{display:block;height:100%;background:var(--ch-pri);border-radius:99px}
.ch-kpi{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}
.ch-kpi .ch-carte{margin-bottom:0}
.ch-tablewrap td{overflow-wrap:anywhere}
