:root{--bg:#0f1419;--panel:#161d25;--line:#243041;--text:#e8eef6;--muted:#8b9bb0;--accent:#3d8bfd;--ok:#3ecf8e;--warn:#f0b429;--danger:#f07178;--font-ui:"IBM Plex Sans","Segoe UI",sans-serif;--font-mono:"IBM Plex Mono","Cascadia Code",monospace}*{box-sizing:border-box}body,html{margin:0;min-height:100%;background:radial-gradient(1200px 600px at 10% -10%,#1a2740 0,transparent 55%),radial-gradient(900px 500px at 100% 0,#132018 0,transparent 50%),var(--bg);color:var(--text);font-family:var(--font-ui)}a{color:inherit;text-decoration:none}.shell{display:grid;grid-template-columns:240px 1fr;min-height:100vh}.sidebar{border-right:1px solid var(--line);background:color-mix(in srgb,var(--panel) 88%,transparent);padding:1.5rem 1.25rem;display:flex;flex-direction:column;gap:1.5rem}.brand{display:flex;align-items:center;gap:.75rem}.brand-mark{font-family:var(--font-mono);color:var(--accent);font-size:1.1rem}.brand-word{font-size:1.25rem;letter-spacing:.02em}.brand-word .cmd{font-family:var(--font-mono);opacity:.85}nav{display:flex;flex-direction:column;gap:.35rem}nav a{padding:.55rem .7rem;border-radius:6px;color:var(--muted)}nav a:hover{background:#1c2633;color:var(--text)}.slogan{margin-top:auto;color:var(--muted);font-size:.8rem;line-height:1.4}.main{padding:2rem 2.25rem}.statusbar{display:flex;flex-wrap:wrap;gap:.75rem;margin-bottom:1.75rem}.chip{border:1px solid var(--line);background:var(--panel);border-radius:999px;padding:.35rem .8rem;font-size:.85rem;color:var(--muted)}.chip strong{color:var(--text);font-weight:600}.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:1rem;gap:1rem}.panel{background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:1.1rem 1.2rem}.panel h2{margin:0 0 .4rem;font-size:1rem}.panel p{margin:0;color:var(--muted);font-size:.9rem;line-height:1.5}.page-title{margin:0 0 .35rem;font-size:1.6rem}.page-sub{margin:0 0 1.5rem;color:var(--muted)}@media (max-width:960px){.shell{grid-template-columns:1fr}.sidebar{border-right:none;border-bottom:1px solid var(--line)}.grid{grid-template-columns:1fr}}