:root{--navy:#0b1530;--indigo:#3d45e0;--gold:#e3a92f;--bg:#f3f5fa;--surface:#ffffff;--border:#dce1ee;--muted:#556080;--text:#0b1530;--danger:#9f1239;--ok:#166534;--warn:#92400e;--shadow:0 1px 2px rgba(11,21,48,0.06);color-scheme:light}:root[data-theme=dark]{--bg:#0b1530;--surface:#15213f;--border:#2c3a60;--muted:#b7c0dc;--text:#f3f5fa;--shadow:none;color-scheme:dark}*{box-sizing:border-box}body,html{margin:0;padding:0}body{background:var(--bg);color:var(--text);font-family:IBM Plex Sans,system-ui,sans-serif;font-size:14px;line-height:1.45}h1,h2,h3{font-family:Bricolage Grotesque,sans-serif;letter-spacing:-.02em}button,input,select,textarea{font-family:inherit}a{color:inherit}.mono{font-family:IBM Plex Mono,ui-monospace,monospace}.btn,.nav-link,input,select{min-height:44px}.btn{display:inline-flex;align-items:center;justify-content:center;padding:0 14px;border-radius:10px;border:1px solid transparent;background:var(--navy);color:white;font-weight:600;cursor:pointer}:root[data-theme=dark] .btn{background:var(--indigo)}.btn.secondary{background:var(--surface);color:var(--text);border-color:var(--border)}.btn:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--indigo);outline-offset:2px}.card{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:16px;box-shadow:var(--shadow)}.status{display:inline-flex;align-items:center;gap:6px;min-height:28px;padding:0 8px;border-radius:999px;border:1px solid var(--border);font-size:12px;font-weight:600}.status i{width:8px;height:8px;border-radius:99px;background:var(--muted);display:inline-block}.status.ok i{background:var(--ok)}.status.warn i{background:var(--gold)}.status.bad i{background:var(--danger)}.shell{display:flex;min-height:100vh}.sidebar{width:240px;background:var(--navy);color:#e8ebf5;padding:20px 12px;display:flex;flex-direction:column;gap:4px}.sidebar a{display:flex;align-items:center;min-height:44px;padding:0 12px;border-radius:10px;text-decoration:none;color:#cfd3e4}.sidebar a[aria-current=page]{background:#1c2b52;color:white}.main{flex:1 1;min-width:0}.topbar{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:12px 20px;border-bottom:1px solid var(--border);background:var(--surface)}.content{padding:20px;display:flex;flex-direction:column;gap:16px}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));grid-gap:12px;gap:12px}label{display:flex;flex-direction:column;gap:6px;font-size:13px;font-weight:500}input,select,textarea{border:1px solid var(--border);border-radius:10px;padding:10px 12px;background:var(--surface);color:var(--text)}.banner{border:1px solid var(--gold);background:color-mix(in srgb,var(--gold) 16%,var(--surface));padding:10px 12px;border-radius:10px}.muted{color:var(--muted)}.menu-btn{display:none}.filters{display:flex;flex-wrap:wrap;gap:8px}.desk-block{display:flex;flex-direction:column;gap:8px}.desk-head{display:flex;justify-content:space-between;align-items:baseline;gap:12px;margin:0}.desk-head span{color:var(--muted);font-family:IBM Plex Mono,ui-monospace,monospace;font-size:13px}.story-list{display:flex;flex-direction:column;gap:8px}.story-row{display:grid;grid-template-columns:minmax(88px,auto) minmax(0,1fr) auto;grid-gap:12px;gap:12px;align-items:center;min-width:0}.story-row.high{border-color:var(--gold);box-shadow:inset 3px 0 0 var(--gold)}.story-main{min-width:0}.story-title{margin:0;font-size:18px;line-height:1.25;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.story-meta{margin:4px 0 0}.priority-high{border-color:var(--gold);background:color-mix(in srgb,var(--gold) 18%,var(--surface))}.stat-strip{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));grid-gap:8px;gap:8px}.stat-strip .card{padding:12px}.stat-strip p{margin:4px 0 0;font-family:IBM Plex Mono,ui-monospace,monospace;font-size:20px}@media (max-width:800px){.menu-btn{display:inline-flex}.sidebar{display:none;position:fixed;inset:0 auto 0 0;z-index:20}.sidebar.open{display:flex}.story-row{grid-template-columns:1fr}.story-row .btn{width:100%}.content{padding:16px}}