:root{--text:#3a3a42;--text-h:#101014;--text-muted:#6b6b76;--bg:#f7f7f9;--bg-panel:#fff;--border:#e2e2e8;--accent:#2f5fd6;--accent-bg:#2f5fd614;--danger:#c0392b;--danger-bg:#c0392b14;--success:#1e8e5a;--success-bg:#1e8e5a1a;--warning:#b8860b;--warning-bg:#b8860b1a;--sans:system-ui, "Segoe UI", Roboto, sans-serif;--mono:ui-monospace, Consolas, monospace;font:14px/1.5 var(--sans);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--text:#c7c7d1;--text-h:#f3f4f6;--text-muted:#9295a3;--bg:#101116;--bg-panel:#181a21;--border:#2a2c36;--accent:#6d93ef;--accent-bg:#6d93ef1f;--danger:#e0685a;--danger-bg:#e0685a1f;--success:#4cbf88;--success-bg:#4cbf881f;--warning:#d6ad4e;--warning-bg:#d6ad4e1f}}*{box-sizing:border-box}body{margin:0}#root{min-height:100svh}h1,h2,h3{color:var(--text-h);margin:0 0 12px;font-weight:600}h1{font-size:22px}h2{font-size:17px}h3{font-size:14px}p{margin:0}a{color:var(--accent);text-decoration:none}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer;border:1px solid var(--border);background:var(--bg-panel);color:var(--text-h);border-radius:6px;padding:7px 14px}button:hover{border-color:var(--accent)}button.primary{background:var(--accent);border-color:var(--accent);color:#fff}button.primary:hover{opacity:.9}button:disabled{opacity:.5;cursor:not-allowed}input,select,textarea{border:1px solid var(--border);background:var(--bg-panel);color:var(--text-h);border-radius:6px;padding:6px 10px}input:focus,select:focus,textarea:focus{outline:2px solid var(--accent-bg);border-color:var(--accent)}table{border-collapse:collapse;width:100%}th,td{text-align:left;border-bottom:1px solid var(--border);padding:8px 10px;font-size:13px}th{color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;font-size:11px;font-weight:500}tr:hover td{background:var(--accent-bg)}.card{background:var(--bg-panel);border:1px solid var(--border);border-radius:10px;padding:16px;overflow-x:auto}.liste-scroll{max-height:62vh;padding:0;overflow-y:auto}.liste-scroll table thead{z-index:1;background:var(--bg-panel);box-shadow:0 1px 0 var(--border);position:sticky;top:0}.barre-recherche{flex-wrap:wrap;align-items:flex-end;gap:10px;margin-bottom:12px;display:flex}.barre-recherche .field{margin-bottom:0}.badge{text-transform:uppercase;letter-spacing:.03em;border-radius:100px;align-items:center;padding:2px 8px;font-size:11px;font-weight:600;display:inline-flex}.badge.neutral{background:var(--border);color:var(--text-h)}.badge.accent{background:var(--accent-bg);color:var(--accent)}.badge.success{background:var(--success-bg);color:var(--success)}.badge.warning{background:var(--warning-bg);color:var(--warning)}.badge.danger{background:var(--danger-bg);color:var(--danger)}.muted{color:var(--text-muted)}.nav-link{color:var(--text);border-radius:6px;padding:6px 10px;font-size:13px;display:block}.nav-link:hover{background:var(--accent-bg)}.nav-link.active{background:var(--accent-bg);color:var(--accent);font-weight:600}.field{flex-direction:column;gap:4px;margin-bottom:12px;display:flex}.field label{color:var(--text-muted);font-size:12px}.grid-2{grid-template-columns:1fr 1fr;gap:12px;display:grid}.actions-row{flex-wrap:wrap;gap:8px;display:flex}.mobile-topbar,.app-sidebar-backdrop{display:none}@media (width<=860px){.mobile-topbar{border-bottom:1px solid var(--border);background:var(--bg);z-index:20;align-items:center;gap:12px;padding:10px 16px;display:flex;position:sticky;top:0}.mobile-menu-button{padding:8px 10px;font-size:18px;line-height:1}.app-sidebar{z-index:30;width:260px;max-width:80vw;transition:transform .2s;position:fixed;top:0;bottom:0;left:0;overflow-y:auto;transform:translate(-100%)}.app-sidebar.open{transform:translate(0);box-shadow:0 0 32px #00000040}.app-sidebar-backdrop.open{z-index:25;background:#00000059;display:block;position:fixed;inset:0}.grid-2{grid-template-columns:1fr}button,input,select,textarea{padding:10px 12px;font-size:16px}.badge{font-size:11px}main{padding:16px!important}}
