:root{font:15px/1.5 "Segoe UI",system-ui,sans-serif;color:#18253e;background:#f4f7fc;--accent:#345eea;--muted:#596882;--line:#e3e9f3}
*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button{cursor:pointer}button:disabled{cursor:wait;opacity:.6}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #809cff;outline-offset:3px}a{color:var(--accent)}h1,h2,h3,p{margin:0}h1{font-size:clamp(28px,4vw,38px);line-height:1.13;letter-spacing:-.045em}h2{font-size:19px;letter-spacing:-.02em}small,.muted{color:var(--muted)}svg{width:20px;height:20px;flex:none}button{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid var(--line);background:white;color:inherit;border-radius:9px;padding:9px 14px;font-weight:650}button.primary{background:var(--accent);color:white;border-color:var(--accent)}button:hover{filter:brightness(.96)}button.text{border:0;padding:5px;background:transparent;color:var(--accent)}
.layout{display:grid;grid-template-columns:244px minmax(0,1fr);min-height:100dvh}.sidebar{background:#101c35;color:#e8efff;padding:26px 18px;display:flex;flex-direction:column;gap:26px}.brand{display:flex;align-items:center;gap:11px;font-size:20px;font-weight:800;letter-spacing:-.035em}.brand b{color:#97adff}.brand-mark,.avatar,.metric-icon{display:grid;place-items:center;flex:none;border-radius:11px;background:#345eea;color:white;width:38px;height:38px}.sidebar label,.sidebar small{color:#a8b6d2}.sidebar select{width:100%;background:#1a2947;color:white;border-color:#394969;margin-top:6px}.nav-caption,.eyebrow{text-transform:uppercase;font-size:11px;font-weight:800;letter-spacing:.14em}.sidebar nav{display:grid;gap:5px}.sidebar nav button{justify-content:flex-start;color:#c6d2ec;background:transparent;border-color:transparent}.sidebar nav button[aria-current=page]{background:#263b6a;color:white}.sidebar-footer{margin-top:auto;display:grid;gap:8px;overflow-wrap:anywhere}.sidebar-footer button{justify-content:flex-start;background:#1a2947;color:white;border-color:#394969}
.topbar{min-height:70px;padding:14px clamp(18px,4vw,42px);display:flex;align-items:center;justify-content:space-between;gap:12px;background:white;border-bottom:1px solid var(--line)}.topbar strong{font-size:14px}.tag{font-size:12px;font-weight:700;border-radius:99px;background:#edf2ff;color:#314bb0;padding:5px 10px;white-space:nowrap}.main{padding:30px clamp(18px,4vw,42px) 42px;max-width:1480px;margin:auto}.hero{display:flex;justify-content:space-between;align-items:flex-end;gap:14px;margin-bottom:23px}.hero p{margin-top:8px}.eyebrow{color:#3856c4;margin-bottom:8px}.kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:18px}.panel,.metric{background:white;border:1px solid var(--line);border-radius:15px;box-shadow:0 3px 10px #19305c05}.metric{padding:15px 16px;display:grid;gap:6px}.metric-icon{width:34px;height:34px;background:#eef2ff;color:#365ae0}.metric:nth-child(2) .metric-icon{background:#fff2dc;color:#91500d}.metric:nth-child(3) .metric-icon{background:#ffeef0;color:#b63258}.metric:nth-child(4) .metric-icon{background:#e5f7ee;color:#11724e}.metric strong{font-size:28px;line-height:1.12}.metric span{font-weight:650;font-size:13px;color:var(--muted)}
.split{display:grid;grid-template-columns:minmax(0,1.75fr) minmax(220px,1fr);gap:16px;margin-bottom:18px}.panel-head{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:16px 19px}.panel-head p{font-size:13px}.bars{height:152px;display:grid;grid-template-columns:repeat(7,1fr);gap:8px;margin:0 18px 16px;background:repeating-linear-gradient(to top,transparent 0 35px,#edf1f8 35px 36px)}.bar-column{display:flex;flex-direction:column;align-items:center;justify-content:end;gap:4px;font-size:11px;color:var(--muted)}.bar{width:min(64%,42px);height:var(--height);min-height:3px;background:#5274f0;border-radius:5px 5px 0 0}.bar-column:nth-child(2n) .bar{background:#91a8ff}.priority-list{display:grid;gap:13px;padding:0 19px 18px}.progress-label{display:flex;justify-content:space-between;font-size:13px;font-weight:650}.track{height:7px;border-radius:12px;background:#edf1f8;overflow:hidden;margin-top:5px}.track span{display:block;height:100%;width:var(--width);background:var(--color)}
.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse;text-align:left}th,td{padding:11px 16px;border-top:1px solid var(--line);white-space:nowrap}th{font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.09em;background:#f9faff}td:first-child,th:first-child{padding-left:19px}.person{display:flex;align-items:center;gap:10px}.avatar{width:32px;height:32px;font-size:11px;background:#eaf0ff;color:#344dae}.person small{display:block}.pill{font-size:12px;border-radius:6px;padding:4px 8px;font-weight:700}.haute{background:#ffeef0;color:#a4274a}.moyenne,.nouveau{background:#fff2dc;color:#80450a}.basse{background:#edf2fc;color:#495a80}.en_cours{background:#eaf0ff;color:#2e49b6}.traite{background:#e2f6eb;color:#176144}.vide{padding:20px;color:var(--muted)}.filters,.fields{display:flex;flex-wrap:wrap;gap:10px;padding:0 19px 16px}.filters input{flex:1;min-width:180px}.filters label,.fields label{display:grid;gap:5px}.filters label:first-child{flex:1}input,select{border:1px solid #ccd6e8;border-radius:8px;padding:8px 10px;background:white;color:#18253e;max-width:100%}
dialog{width:min(620px,calc(100% - 24px));max-height:calc(100dvh - 24px);border:1px solid var(--line);border-radius:16px;padding:0;color:inherit;box-shadow:0 15px 75px #101c3550}dialog::backdrop{background:#101c3575}.detail-body{padding:0 19px 20px;display:grid;gap:15px;overflow-wrap:anywhere}.detail-body section{border:1px solid var(--line);border-radius:10px;padding:12px}.detail-body section p{white-space:pre-wrap}.detail-body .fields{padding:0}.login{min-height:100dvh;display:grid;place-items:center;padding:18px;background:radial-gradient(ellipse at top left,#dbe5ff,transparent 65%),#f4f7fc}.login article{width:min(100%,460px);padding:28px}.login .brand{margin-bottom:26px}.login p{margin:10px 0 18px}.login form,.login label{display:grid;gap:7px}.login form{gap:13px}.error{color:#a4274a}.admin{display:grid;gap:16px}.admin ul{margin:0;padding:0 19px 16px;list-style:none}.admin li{display:flex;justify-content:space-between;gap:8px;align-items:center;border-top:1px solid var(--line);padding:9px 0;overflow-wrap:anywhere}#toast{position:fixed;bottom:16px;right:16px;max-width:min(440px,calc(100% - 32px));z-index:5}#toast:not(:empty){background:#18253e;color:white;padding:11px 15px;border-radius:9px}
@media(max-width:960px){.layout{grid-template-columns:195px minmax(0,1fr)}.kpis{grid-template-columns:repeat(2,1fr)}}
@media(max-width:700px){.layout{display:block}.sidebar{padding:14px 16px;gap:10px}.sidebar nav{display:flex;flex-wrap:wrap}.sidebar nav button{padding:7px 8px}.sidebar .nav-caption{display:none}.sidebar-footer{display:flex;justify-content:space-between;align-items:center}.sidebar select{margin-top:2px}.topbar{min-height:48px}.main{padding-top:21px}.split{grid-template-columns:1fr}.hero{align-items:flex-start;flex-direction:column}}
.auth-switch{margin-top:16px}.login .auth-message{background:#e9f5ee;color:#176144;border-radius:8px;padding:10px 12px}.onboarding{max-width:610px}.onboarding .fields{align-items:end}.onboarding label{flex:1;min-width:min(220px,100%)}.onboarding .error{flex-basis:100%}.onboarding .error:empty{display:none}
