:root{color-scheme:light;--couleur-texte: #22283a;--couleur-fond: #ffffff;--couleur-bordure: #d9d2c5;--couleur-marine: #22283a;--couleur-orange: #e2652c;--couleur-orange-fonce: #c9541f;--couleur-creme: #f7f4ee;--couleur-erreur: #7a1f1a;--couleur-ok: #1e4620}*{box-sizing:border-box}body{margin:0;font-family:system-ui,-apple-system,Segoe UI,sans-serif;color:var(--couleur-texte);background:var(--couleur-fond)}a{color:var(--couleur-marine);font-weight:600}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer;border:1px solid var(--couleur-bordure);background:var(--couleur-creme);color:var(--couleur-marine);border-radius:6px;padding:7px 14px;font-weight:600}button:hover{background:#efe9dc}button:disabled{opacity:.5;cursor:not-allowed}button[type=submit]{background:var(--couleur-orange);color:#fff;border-color:var(--couleur-orange)}button[type=submit]:hover{background:var(--couleur-orange-fonce);border-color:var(--couleur-orange-fonce)}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--couleur-orange);outline-offset:1px}input,select,textarea{border:1px solid var(--couleur-bordure);border-radius:4px;padding:8px;width:100%}label{display:block;font-size:13px;font-weight:600;margin-bottom:12px}table{border-collapse:collapse;width:100%;min-width:max-content;font-size:14px}th,td{text-align:left;padding:8px 10px;border-bottom:1px solid var(--couleur-bordure);white-space:nowrap}th{font-size:12px;text-transform:uppercase;color:#6b6152}.app-layout{display:flex;min-height:100vh}.app-nav{width:210px;flex-shrink:0;background:var(--couleur-marine);color:#fff;padding:12px}.app-nav-logo{display:flex;align-items:center;gap:8px;padding:8px 10px 16px}.app-nav-logo img{width:28px;height:28px;border-radius:6px}.app-nav-logo span{font-weight:700;font-size:14px;color:#fff}.app-nav-groupe{margin-bottom:6px}.app-nav-titre{padding:12px 10px 4px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:#767e94}.app-nav a{display:block;padding:8px 10px;border-radius:6px;text-decoration:none;color:#d7dbe6;font-size:14px;font-weight:500}.app-nav a:hover{background:#ffffff14;color:#fff}.app-nav a.actif{background:var(--couleur-orange);color:#fff;font-weight:600}.app-nav a:focus-visible{outline:3px solid var(--couleur-orange);outline-offset:1px}.app-content{flex:1;padding:20px;min-width:0;overflow-x:auto}.badge{display:inline-block;padding:2px 8px;border-radius:999px;font-size:12px;background:var(--couleur-creme);color:var(--couleur-marine);font-weight:600}.erreur{color:var(--couleur-erreur);font-size:13px}.ok{color:var(--couleur-ok);font-size:13px}.kanban{display:flex;gap:16px;align-items:flex-start}.kanban-colonne{flex:1;min-width:220px;background:var(--couleur-creme);border-radius:8px;padding:10px}.kanban-carte{background:#fff;border:1px solid var(--couleur-bordure);border-left:4px solid var(--couleur-orange);border-radius:6px;padding:10px;margin-bottom:8px}.tuile{background:#fff;border:1px solid var(--couleur-bordure);border-radius:10px;padding:16px}.tuile-libelle{font-size:12px;text-transform:uppercase;color:#6b6152;margin:0 0 6px}.tuile-valeur{font-size:26px;font-weight:700;color:var(--couleur-marine);margin:0}.tuiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;margin-bottom:24px}.app-topbar{display:none}@media (max-width: 700px){.app-layout{flex-direction:column}.app-topbar{display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:20;background:var(--couleur-marine);padding:6px 12px}.app-topbar .app-nav-logo{padding:4px 0}.app-topbar-menu{background:transparent;color:#fff;border-color:#454c60;font-size:15px;padding:8px 14px}.app-topbar-menu:hover{background:#ffffff14}.app-nav{display:none;width:100%;position:sticky;top:48px;z-index:19;max-height:calc(100vh - 48px);overflow-y:auto;padding:4px 12px 12px;box-shadow:0 8px 16px #00000040}.app-nav.ouvert{display:block}.app-nav>.app-nav-logo{display:none}.app-nav a{padding:12px 10px;font-size:16px}.app-content{padding:14px}h1{font-size:24px}input,select,textarea{font-size:16px;max-width:100%}.kanban{flex-direction:column;align-items:stretch}.kanban-colonne{min-width:0;width:100%}}
