*,*:before,*:after{box-sizing:border-box}html,body{margin:0;padding:0;height:100%}#root{height:100%}img,svg{display:block}button{cursor:pointer}a{color:inherit;text-decoration:none}:root{--paper-0: #faf7f1;--paper-1: #f5f1e8;--paper-2: #ede7d8;--paper-3: #e0d9c5;--paper-rule: #d9d1bd;--paper-line: #ece5d2;--ink-0: #14110a;--ink-1: #2a251a;--ink-2: #5a5140;--ink-3: #8a8171;--ink-4: #b5ac97;--accent: #b45309;--accent-hover: #92400e;--accent-soft: #fef3c7;--accent-rule: #eab308;--sev-high: #b91c1c;--sev-high-bg: #fee2e2;--sev-high-ink: #7f1d1d;--sev-med: #b45309;--sev-med-bg: #fef3c7;--sev-med-ink: #78350f;--sev-low: #166534;--sev-low-bg: #dcfce7;--sev-low-ink: #14532d;--sev-none: #525b6a;--sev-none-bg: #e5e7eb;--info: #1e40af;--info-bg: #dbeafe;--ai: #6b21a8;--ai-bg: #f3e8ff;--r-sm: 4px;--r-md: 6px;--r-lg: 10px;--r-xl: 16px;--shadow-sm: 0 1px 0 rgba(20,17,10,.04), 0 1px 2px rgba(20,17,10,.04);--shadow-md: 0 2px 4px rgba(20,17,10,.06), 0 8px 24px -8px rgba(20,17,10,.08);--shadow-lg: 0 8px 16px -4px rgba(20,17,10,.08), 0 24px 48px -16px rgba(20,17,10,.14);--font-sans: "Söhne", "Inter", ui-sans-serif, -apple-system, "Segoe UI", system-ui, sans-serif;--font-serif: "Tiempos Text", "Source Serif 4", ui-serif, Georgia, serif;--font-mono: "Berkeley Mono", "JetBrains Mono", ui-monospace, "SF Mono", Menlo, monospace;--density: 1}html[data-theme=dark]{--paper-0: #17140d;--paper-1: #1e1a11;--paper-2: #2a2417;--paper-3: #3a3220;--paper-rule: #2d2718;--paper-line: #241f13;--ink-0: #faf7f1;--ink-1: #ede5d0;--ink-2: #b0a68b;--ink-3: #857c64;--ink-4: #5a5240;--accent: #f59e0b;--accent-hover: #fbbf24;--accent-soft: #3a2a0b;--accent-rule: #d97706;--sev-high: #f87171;--sev-high-bg: #3a1010;--sev-high-ink: #fecaca;--sev-med: #fbbf24;--sev-med-bg: #3a2a0b;--sev-med-ink: #fde68a;--sev-low: #4ade80;--sev-low-bg: #0f2d1a;--sev-low-ink: #bbf7d0;--sev-none: #9ca3af;--sev-none-bg: #2a2520;--info: #60a5fa;--info-bg: #132a4f;--ai: #c084fc;--ai-bg: #2a1440;--shadow-sm: 0 1px 0 rgba(0,0,0,.4), 0 1px 2px rgba(0,0,0,.3);--shadow-md: 0 2px 4px rgba(0,0,0,.3), 0 8px 24px -8px rgba(0,0,0,.4);--shadow-lg: 0 8px 16px -4px rgba(0,0,0,.4), 0 24px 48px -16px rgba(0,0,0,.6)}*{box-sizing:border-box}html,body{margin:0;padding:0}body{font-family:var(--font-sans);font-size:14px;line-height:1.45;color:var(--ink-1);background:var(--paper-0);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;font-feature-settings:"ss01","cv11"}button{font-family:inherit}input,textarea,select{font-family:inherit;color:inherit}.app{display:grid;grid-template-columns:236px 1fr;grid-template-rows:52px 1fr;height:100vh;width:100vw;overflow:hidden}.app-topbar{grid-column:1 / -1;display:flex;align-items:center;gap:16px;padding:0 20px 0 24px;border-bottom:1px solid var(--paper-rule);background:var(--paper-0);z-index:5}.app-sidebar{border-right:1px solid var(--paper-rule);background:var(--paper-1);overflow-y:auto;padding:16px 0}.app-main{overflow-y:auto;overflow-x:hidden;background:var(--paper-0)}.brand{display:flex;align-items:center;gap:10px;font-family:var(--font-serif);font-size:18px;font-weight:500;letter-spacing:-.01em;color:var(--ink-0)}.brand-mark{width:22px;height:22px;background:var(--ink-0);color:var(--paper-0);border-radius:4px;display:grid;place-items:center;font-family:var(--font-serif);font-size:13px;font-weight:600;font-style:italic}.topbar-search{flex:1;max-width:520px;margin-left:28px;height:32px;padding:0 12px 0 34px;background:var(--paper-1);border:1px solid transparent;border-radius:var(--r-md);color:var(--ink-1);font-size:13px;outline:none;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%238a8171' stroke-width='2'><circle cx='11' cy='11' r='7'/><path d='m21 21-4.3-4.3'/></svg>");background-repeat:no-repeat;background-position:11px center}.topbar-search:focus{border-color:var(--paper-rule);background-color:var(--paper-0)}.topbar-search::placeholder{color:var(--ink-4)}.topbar-right{display:flex;align-items:center;gap:8px;margin-left:auto}.role-switch{display:inline-flex;padding:2px;background:var(--paper-1);border:1px solid var(--paper-rule);border-radius:var(--r-md);font-size:12px}.role-switch button{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background:transparent;padding:4px 10px;border-radius:4px;color:var(--ink-2);cursor:pointer;font-weight:500}.role-switch button[data-active="1"]{background:var(--paper-0);color:var(--ink-0);box-shadow:var(--shadow-sm)}.avatar{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;font-size:11px;font-weight:600;color:#fff;background:var(--ink-0)}.nav-section{padding:14px 16px 4px;font-size:10px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3)}.nav-section:first-child{padding-top:4px}.nav-item{display:flex;align-items:center;gap:10px;padding:7px 16px;margin:0 8px;border-radius:var(--r-md);color:var(--ink-1);cursor:pointer;font-size:13.5px;font-weight:450;-webkit-user-select:none;user-select:none}.nav-item:hover{background:var(--paper-2)}.nav-item[data-active="1"]{background:var(--ink-0);color:var(--paper-0)}.nav-item[data-active="1"] .nav-count{background:#ffffff29;color:var(--paper-0)}.nav-icon{width:16px;height:16px;flex-shrink:0;opacity:.7}.nav-item[data-active="1"] .nav-icon{opacity:1}.nav-count{margin-left:auto;background:var(--paper-2);color:var(--ink-2);padding:1px 7px;border-radius:999px;font-size:11px;font-variant-numeric:tabular-nums;font-weight:500}.page-head{padding:28px 32px 20px;border-bottom:1px solid var(--paper-rule);background:var(--paper-0)}.page-head h1{font-family:var(--font-serif);font-size:28px;font-weight:500;letter-spacing:-.015em;color:var(--ink-0);margin:0;line-height:1.15}.page-head .page-eyebrow{font-size:11px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3);margin:0 0 6px}.page-sub{color:var(--ink-2);font-size:14px;margin:6px 0 0;max-width:640px}.btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid var(--paper-rule);background:var(--paper-0);color:var(--ink-1);padding:6px 12px;border-radius:var(--r-md);font-size:13px;font-weight:500;cursor:pointer;display:inline-flex;align-items:center;gap:6px;line-height:1;height:30px}.btn:hover{background:var(--paper-1)}.btn.primary{background:var(--ink-0);border-color:var(--ink-0);color:var(--paper-0)}.btn.primary:hover{background:var(--ink-1);border-color:var(--ink-1)}.btn.accent{background:var(--accent);border-color:var(--accent);color:#fff}.btn.accent:hover{background:var(--accent-hover);border-color:var(--accent-hover)}.btn.danger{background:var(--sev-high);border-color:var(--sev-high);color:#fff}.btn.success{background:var(--sev-low);border-color:var(--sev-low);color:#fff}.btn.ghost{background:transparent;border-color:transparent}.btn.ghost:hover{background:var(--paper-2)}.btn.icon-only{padding:0;width:30px;justify-content:center}.btn.sm{height:26px;font-size:12px;padding:4px 10px}.btn.lg{height:36px;font-size:14px;padding:8px 16px}.card{background:var(--paper-0);border:1px solid var(--paper-rule);border-radius:var(--r-lg);overflow:hidden}.card-head{padding:14px 16px;border-bottom:1px solid var(--paper-rule);display:flex;align-items:center;gap:10px}.card-title{font-size:13px;font-weight:600;color:var(--ink-0);letter-spacing:-.005em}.card-sub{font-size:12px;color:var(--ink-3)}.card-body{padding:16px}.kpi{padding:18px 18px 16px;display:flex;flex-direction:column;gap:4px;position:relative}.kpi-label{font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3)}.kpi-value{font-family:var(--font-serif);font-size:32px;font-weight:500;letter-spacing:-.02em;color:var(--ink-0);line-height:1.1;font-variant-numeric:tabular-nums;margin-top:2px}.kpi-value .unit{font-size:16px;color:var(--ink-2);font-weight:400;margin-left:2px}.kpi-delta{font-size:12px;display:inline-flex;align-items:center;gap:4px;margin-top:2px;font-variant-numeric:tabular-nums}.kpi-delta[data-dir=up]{color:var(--sev-low)}.kpi-delta[data-dir=down]{color:var(--sev-high)}.kpi-delta[data-dir=flat]{color:var(--ink-3)}.kpi-delta .small{color:var(--ink-3);margin-left:2px}.pill{display:inline-flex;align-items:center;gap:5px;padding:2px 7px;border-radius:3px;font-size:11px;font-weight:600;letter-spacing:.02em;line-height:1.4}.pill .dot{width:6px;height:6px;border-radius:50%}.pill[data-sev=high]{color:var(--sev-high-ink);background:var(--sev-high-bg)}.pill[data-sev=high] .dot{background:var(--sev-high)}.pill[data-sev=med]{color:var(--sev-med-ink);background:var(--sev-med-bg)}.pill[data-sev=med] .dot{background:var(--sev-med)}.pill[data-sev=low]{color:var(--sev-low-ink);background:var(--sev-low-bg)}.pill[data-sev=low] .dot{background:var(--sev-low)}.pill[data-sev=none]{color:var(--ink-2);background:var(--sev-none-bg)}.pill[data-sev=none] .dot{background:var(--sev-none)}.pill[data-tone=ai]{color:var(--ai);background:var(--ai-bg)}.pill[data-tone=ai] .dot{background:var(--ai)}.pill[data-tone=info]{color:var(--info);background:var(--info-bg)}.pill[data-tone=info] .dot{background:var(--info)}.pill[data-tone=ghost]{color:var(--ink-2);background:var(--paper-2)}.pill[data-tone=ghost] .dot{background:var(--ink-3)}.chan{width:20px;height:20px;border-radius:4px;display:inline-grid;place-items:center;color:#fff;font-size:10px;font-weight:700;letter-spacing:-.02em;flex-shrink:0}.chan.sm{width:16px;height:16px;font-size:9px;border-radius:3px}.chan.lg{width:28px;height:28px;font-size:13px;border-radius:5px}.divider{height:1px;background:var(--paper-rule)}.mono{font-family:var(--font-mono);font-size:.92em}.tabnum{font-variant-numeric:tabular-nums}.muted{color:var(--ink-3)}.serif{font-family:var(--font-serif)}.hr-v{width:1px;background:var(--paper-rule);height:20px}html[data-density=compact] .nav-item{padding-top:5px;padding-bottom:5px;font-size:13px}html[data-density=compact] .kpi{padding:14px 14px 12px}html[data-density=compact] .kpi-value{font-size:26px}html[data-density=compact] .card-body{padding:12px}html[data-density=compact] .card-head{padding:10px 14px}html[data-density=compact] .page-head{padding:20px 28px 16px}html[data-density=compact] .page-head h1{font-size:22px}html[data-density=compact] .page-sub{font-size:13px}html[data-density=compact] .app-topbar{height:46px}html[data-density=compact] .app{grid-template-rows:46px 1fr}
