:root{--ardoise-50:#f8fafc;--ardoise-100:#f1f5f9;--ardoise-200:#e2e8f0;--ardoise-300:#cbd5e1;--ardoise-400:#94a3b8;--ardoise-500:#64748b;--ardoise-600:#475569;--ardoise-700:#334155;--ardoise-800:#1e293b;--ardoise-900:#0f172a;--marine:#0a1f44;--marine-clair:#1e3a6e;--bleu-50:#eff6ff;--bleu-100:#dbeafe;--bleu-200:#bfdbfe;--bleu-300:#93c5fd;--bleu-600:#2563eb;--bleu-700:#1d4ed8;--vert-50:#f0fdf4;--vert-100:#dcfce7;--vert-300:#86efac;--vert-600:#16a34a;--vert-700:#059669;--rouge-50:#fef2f2;--rouge-300:#fca5a5;--rouge-600:#dc2626;--ambre-50:#fffbeb;--ambre-600:#d97706;--ambre-800:#92400e;--violet-600:#7c3aed;--texte:var(--ardoise-800);--texte-faible:var(--ardoise-500);--bordure:var(--ardoise-200);--fond:var(--ardoise-100);--surface:#fff;--primaire:var(--bleu-600)}*{box-sizing:border-box;margin:0;padding:0}body{background:var(--fond);color:var(--texte);font-family:Segoe UI,sans-serif}:focus-visible{outline:2px solid var(--primaire);outline-offset:2px;border-radius:4px}.skip-link{z-index:1001;background:var(--marine);color:#fff;border-radius:8px;padding:10px 16px;font-size:14px;text-decoration:none;position:absolute;top:8px;left:-9999px}.skip-link:focus{left:8px}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.app{height:100vh;display:flex}.sidebar{background:var(--surface);border-right:1px solid var(--bordure);flex-direction:column;gap:8px;width:240px;padding:24px 16px;display:flex;overflow-y:auto}.sidebar-logo{border-bottom:1px solid var(--bordure);background:var(--marine);border-radius:10px;justify-content:center;align-items:center;margin-bottom:8px;padding:12px 8px 16px;display:flex}.sidebar-nav{flex-direction:column;flex:1;gap:4px;display:flex}.sidebar-nav a{color:var(--texte-faible);border-radius:8px;align-items:center;gap:10px;padding:10px 12px;font-size:14px;text-decoration:none;transition:all .2s;display:flex}.sidebar-nav a:hover{background:var(--fond);color:var(--texte)}.sidebar-nav a.active{background:var(--bleu-50);color:var(--primaire);font-weight:600}.sidebar-footer{color:var(--ardoise-400);text-align:center;border-top:1px solid var(--bordure);padding-top:16px;font-size:12px}.main-content{flex:1;padding:32px;overflow-y:auto}.page-header{margin-bottom:24px}.page-header h1{color:var(--texte);font-size:24px;font-weight:700}.page-header p{color:var(--texte-faible);margin-top:4px}.card{background:var(--surface);border:1px solid var(--bordure);border-radius:12px;margin-bottom:16px;padding:24px}.grid-2{grid-template-columns:1fr 1fr;gap:16px;display:grid}.grid-3{grid-template-columns:1fr 1fr 1fr;gap:16px;display:grid}.stat-card{background:var(--surface);border:1px solid var(--bordure);border-radius:12px;padding:20px}.stat-card .label{color:var(--texte-faible);margin-bottom:8px;font-size:13px}.stat-card .value{color:var(--texte);font-size:28px;font-weight:700}.stat-card .sub{color:var(--ardoise-400);margin-top:4px;font-size:12px}.btn{cursor:pointer;border:none;border-radius:8px;align-items:center;gap:6px;padding:10px 16px;font-size:14px;font-weight:500;transition:all .2s;display:inline-flex}.btn-primary{background:var(--primaire);color:#fff}.btn-primary:hover{background:var(--bleu-700)}.btn-primary:disabled{background:var(--bleu-300);cursor:not-allowed}.btn-secondary{background:var(--fond);color:var(--ardoise-600);border:1px solid var(--bordure)}.btn-secondary:hover{background:var(--bordure)}.badge{border-radius:20px;align-items:center;padding:3px 10px;font-size:12px;font-weight:600;display:inline-flex}.menu-toggle{z-index:1000;background:var(--marine);color:#fff;cursor:pointer;border:none;border-radius:8px;justify-content:center;align-items:center;width:42px;height:42px;display:none;position:fixed;top:12px;left:12px;box-shadow:0 2px 8px #0003}.sidebar-overlay{z-index:998;background:#00000080;display:none;position:fixed;inset:0}.sidebar-overlay.open{display:block}@media (max-width:768px){.grid-2,.grid-3{grid-template-columns:1fr}.menu-toggle{display:flex}.sidebar{z-index:999;width:240px;height:100vh;transition:left .25s;position:fixed;top:0;left:-260px;box-shadow:4px 0 20px #00000026}.sidebar.open{left:0}.main-content{width:100%;padding:64px 16px 16px}.page-header h1{font-size:18px}.card{padding:16px}.stat-card .value{font-size:22px}table{font-size:12px}.btn{padding:8px 12px;font-size:13px}}
