:root{color-scheme:light;--bg:#e6e0d4;--paper:#f7f3eb;--ink:#1c1915;--muted:#5f584e;--line:#d5cdbf;--navy:#1c3147;--support:#1d5b43;--adverse:#8b3d34;--watch:#8a5b16;--chip:#efe6d6}*{box-sizing:border-box}body,html{margin:0;padding:0}body{background:var(--bg);color:var(--ink);font-family:Noto Sans CJK SC,Noto Sans SC,Source Han Sans SC,WenQuanYi Micro Hei,Droid Sans Fallback,PingFang SC,Microsoft YaHei,sans-serif;line-height:1.55}.brand,h1,h2,h3{font-family:"Noto Serif CJK SC","Noto Serif SC",Songti SC,WenQuanYi Micro Hei,Palatino,serif;font-weight:650;letter-spacing:0}a{color:var(--navy)}button,input,select,textarea{font:inherit;color:inherit}.shell{display:grid;grid-template-columns:220px 1fr;min-height:100vh}.rail{background:var(--navy);color:#f4efe6;padding:24px 18px}.rail a{color:#f4efe6;text-decoration:none}.brand{margin:0;font-size:28px}.muted,.rail p{color:var(--muted)}.rail .muted{color:#d9d0c2}.rail nav{display:grid;grid-gap:8px;gap:8px;margin:22px 0}.rail nav a{padding:6px 0;border-bottom:1px solid rgba(255,255,255,.12)}.main{padding:28px 32px 64px}.banner,.card,.login-card,.table-wrap{background:var(--paper);border:1px solid var(--line);border-radius:8px}.banner{padding:12px 14px;margin-bottom:16px}.banner.demo{border-color:var(--watch);background:#f8eccf}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));grid-gap:12px;gap:12px}.card{padding:14px}.card h2,.card h3{margin:0 0 8px}.split{display:grid;grid-template-columns:1fr 1fr;grid-gap:12px;gap:12px}.support{border-top:4px solid var(--support)}.adverse{border-top:4px solid var(--adverse)}.status{display:inline-block;padding:1px 8px;border-radius:999px;background:var(--chip);font-size:13px}.status.fresh{color:var(--support)}.status.not_collected,.status.source_blank,.status.stale{color:var(--watch)}.status.not_connected{color:var(--muted)}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse;font-size:14px}td,th{text-align:left;padding:8px 10px;border-bottom:1px solid var(--line);vertical-align:top}th{font-size:12px;letter-spacing:.04em;color:var(--muted)}.chart svg{width:100%;height:auto;color:var(--navy)}.chart-meta,.row-actions{display:flex;justify-content:space-between;gap:8px;flex-wrap:wrap;color:var(--muted);font-size:13px}.state{color:var(--watch)}.stack,form.stack{display:grid;grid-gap:10px;gap:10px}input,select,textarea{width:100%;padding:8px 10px;border:1px solid var(--line);border-radius:6px;background:white}textarea{min-height:180px}.button,button{background:var(--navy);color:white;border:0;border-radius:6px;padding:8px 14px;cursor:pointer;text-decoration:none;display:inline-block}.filters{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0}.filters a,.filters button.ghost{background:transparent;color:var(--navy);border:1px solid var(--line)}.login-wrap{min-height:100vh;display:grid;place-items:center;padding:24px}.login-card{width:min(440px,100%);padding:28px}.footer-note{margin-top:28px;color:var(--muted);font-size:13px}@media (max-width:860px){.shell{grid-template-columns:1fr}.rail nav{grid-template-columns:repeat(auto-fit,minmax(120px,1fr))}.main{padding:18px 14px 48px}.split{grid-template-columns:1fr}}