:root{font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;line-height:1.5;font-weight:400}html[data-theme=light]{--bg: #f4f6fb;--surface: #ffffff;--surface-2: #eef2ff;--text: #0f172a;--text-muted: #475569;--border: #dbe3f1;--accent: #2563eb;--accent-contrast: #ffffff}html[data-theme=dark]{--bg: #0b1220;--surface: #111a2e;--surface-2: #17223b;--text: #e2e8f0;--text-muted: #9aa8be;--border: #22314f;--accent: #60a5fa;--accent-contrast: #09101f}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:var(--bg);color:var(--text)}h1,h2,h3,p{margin:0}.layout{min-height:100vh;display:grid;grid-template-rows:auto 1fr}.app-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.5rem;border-bottom:1px solid var(--border);background:var(--surface)}.app-header p{color:var(--text-muted);font-size:.9rem}.theme-toggle{border:1px solid var(--border);background:var(--surface-2);color:var(--text);border-radius:999px;padding:.5rem .95rem;font-size:.88rem;cursor:pointer}.app-shell{display:grid;grid-template-columns:220px 1fr;min-height:0}.app-nav{border-right:1px solid var(--border);background:var(--surface);padding:1rem;display:grid;align-content:start;gap:.5rem}.nav-link{display:block;text-decoration:none;color:var(--text-muted);padding:.55rem .75rem;border-radius:.5rem;border:1px solid transparent}.nav-link:hover{border-color:var(--border);color:var(--text)}.nav-link.active{background:var(--accent);color:var(--accent-contrast)}.app-main{padding:1.5rem}.page{display:grid;gap:1rem}.page p{color:var(--text-muted)}.card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.metric-card{background:var(--surface);border:1px solid var(--border);border-radius:.75rem;padding:1rem;display:grid;gap:.35rem}.metric-card strong{font-size:1.5rem}.metric-card span{color:var(--text-muted);font-size:.85rem}.table-wrap{overflow-x:auto;background:var(--surface);border:1px solid var(--border);border-radius:.75rem}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:.75rem .9rem;border-bottom:1px solid var(--border)}th{color:var(--text-muted);font-weight:600}.settings-panel{display:inline-flex;gap:1rem;align-items:center;background:var(--surface);border:1px solid var(--border);border-radius:.75rem;padding:1rem}@media(max-width:900px){.app-shell{grid-template-columns:1fr}.app-nav{border-right:0;border-bottom:1px solid var(--border);grid-auto-flow:column;grid-auto-columns:minmax(0,1fr)}.card-grid{grid-template-columns:1fr}}
