:root{--nav:#10243e;--nav2:#173b63;--accent:#19a974;--bg:#f5f7fa;--text:#172033;--muted:#667085;--line:#dbe2ea;--white:#fff;--danger:#c62828;--warn:#a15c00;--radius:14px;--shadow:0 8px 24px rgba(16,36,62,.08)}*{box-sizing:border-box}html{font-family:Segoe UI,Arial,sans-serif;color:var(--text);background:var(--bg)}body{margin:0}.skip-link{position:absolute;left:-9999px}.skip-link:focus{left:1rem;top:1rem;background:#fff;padding:.7rem;z-index:99}.app-shell{display:grid;grid-template-columns:260px minmax(0,1fr);grid-template-rows:72px minmax(calc(100vh - 72px),auto);grid-template-areas:"header header" "sidebar main"}.topbar{grid-area:header;height:72px;background:var(--white);border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 24px;position:sticky;top:0;z-index:20}.brand{display:flex;align-items:center;gap:12px;font-weight:750}.brand-mark{width:40px;height:40px;border-radius:10px;background:linear-gradient(135deg,var(--nav2),var(--accent));display:grid;place-items:center;color:#fff}.topbar-actions{display:flex;align-items:center;gap:12px}.sidebar{grid-area:sidebar;background:var(--nav);color:#fff;padding:20px 14px;min-height:calc(100vh - 72px)}.nav-list{display:grid;gap:6px}.nav-link{display:flex;gap:10px;align-items:center;color:#eaf1f8;text-decoration:none;padding:11px 12px;border-radius:10px}.nav-link:hover,.nav-link.active{background:var(--nav2);color:#fff}.main-content{grid-area:main;padding:24px;min-width:0}.page-title{margin:6px 0 18px;font-size:1.7rem}.muted{color:var(--muted)}.grid{display:grid;gap:16px}.grid.cards{grid-template-columns:repeat(4,minmax(0,1fr))}.card{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);padding:18px;box-shadow:var(--shadow)}.card h2,.card h3{margin-top:0}.metric{font-size:1.8rem;font-weight:750}.toolbar{display:flex;gap:10px;align-items:end;flex-wrap:wrap;margin-bottom:18px}.field{display:grid;gap:6px;min-width:240px}.field input{height:42px;border:1px solid var(--line);border-radius:9px;padding:0 12px;font:inherit}.btn{border:0;border-radius:9px;min-height:42px;padding:0 15px;font:inherit;font-weight:650;cursor:pointer}.btn-primary{background:var(--accent);color:#fff}.btn-secondary{background:#e9eef5;color:var(--text)}.btn:disabled{opacity:.55;cursor:not-allowed}.list{display:grid;gap:10px;padding:0;list-style:none}.list-item{border:1px solid var(--line);background:#fff;border-radius:10px;padding:14px}.kv{display:grid;grid-template-columns:190px minmax(0,1fr);gap:8px 16px}.code{font-family:Consolas,monospace;font-size:.9rem;overflow-wrap:anywhere}.status{display:inline-flex;align-items:center;gap:6px;padding:5px 9px;border-radius:999px;background:#e8f7f1;color:#08734e;font-weight:650}.status.off{background:#fdecec;color:var(--danger)}.empty{padding:26px;text-align:center;color:var(--muted);border:1px dashed var(--line);border-radius:12px;background:#fff}
/* Correctif V1.0.1 - conteneurs principaux */
#app-header {
  grid-area: header;
}

#app-sidebar {
  grid-area: sidebar;
  min-width: 0;
  background: var(--nav);
}

#app-sidebar .sidebar {
  min-height: 100%;
}

#main {
  grid-area: main;
}
