:root{color-scheme:dark;--surface-1: #1a1a19;--page: #0d0d0d;--text-primary: #ffffff;--text-secondary: #c3c2b7;--text-muted: #898781;--grid: #2c2c2a;--baseline: #383835;--border: rgba(255, 255, 255, .1);--series-1: #3987e5;--series-2: #d95926;--series-3: #199e70;--series-4: #c98500;--series-5: #d55181;--status-good: #0ca30c;--status-warning: #fab219;--status-serious: #ec835a;--status-critical: #d03b3b;--up: #0ca30c;--down: #e66767}*{box-sizing:border-box}body{margin:0;background:var(--page);color:var(--text-primary);font-family:system-ui,-apple-system,Segoe UI,PingFang SC,Microsoft YaHei,sans-serif;font-size:14px;line-height:1.5}a{color:var(--series-1);text-decoration:none}a:hover{text-decoration:underline}.layout{display:flex;min-height:100vh}.sidebar{width:200px;flex-shrink:0;background:var(--surface-1);border-right:1px solid var(--border);padding:20px 12px;display:flex;flex-direction:column;gap:4px}.sidebar .logo{font-size:16px;font-weight:700;padding:0 10px 16px;letter-spacing:.5px}.sidebar .logo span{color:var(--series-1)}.sidebar a.nav{display:block;padding:9px 10px;border-radius:8px;color:var(--text-secondary)}.sidebar a.nav:hover{background:#ffffff0d;text-decoration:none}.sidebar a.nav.active{background:#3987e529;color:var(--text-primary)}.sidebar .spacer{flex:1}.sidebar button.logout{background:none;border:1px solid var(--border);color:var(--text-muted);border-radius:8px;padding:8px;cursor:pointer}.sidebar button.logout:hover{color:var(--text-primary)}.main{flex:1;padding:24px 28px;min-width:0}.main h1{font-size:20px;margin:0 0 18px}.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px;margin-bottom:20px}.card{background:var(--surface-1);border:1px solid var(--border);border-radius:12px;padding:16px 18px}.card .label{color:var(--text-muted);font-size:12px;margin-bottom:6px}.card .value{font-size:28px;font-weight:700}.card .value.small{font-size:20px}.panel{background:var(--surface-1);border:1px solid var(--border);border-radius:12px;padding:18px;margin-bottom:20px}.panel h2{font-size:14px;margin:0 0 12px;color:var(--text-secondary);font-weight:600}table.data{width:100%;border-collapse:collapse}table.data th{text-align:left;color:var(--text-muted);font-weight:500;font-size:12px;padding:8px 10px;border-bottom:1px solid var(--baseline);white-space:nowrap}table.data td{padding:9px 10px;border-bottom:1px solid var(--grid);font-variant-numeric:tabular-nums;white-space:nowrap}table.data tr:hover td{background:#ffffff08}table.data tr.clickable{cursor:pointer}.badge{display:inline-block;padding:2px 9px;border-radius:999px;font-size:12px;font-weight:600;line-height:1.6}.badge.pending_confirm{background:#fab21926;color:var(--status-warning)}.badge.confirmed{background:#0ca30c26;color:var(--status-good)}.badge.rejected{background:#89878126;color:var(--text-muted)}.badge.suspected_exit{background:#ec835a29;color:var(--status-serious)}.badge.exited{background:#d03b3b29;color:var(--status-critical)}.badge.rolled{background:#3987e529;color:var(--series-1)}.badge.expired{background:#89878133;color:var(--text-secondary)}.badge.buy{background:#0ca30c26;color:var(--up)}.badge.sell{background:#e6676726;color:var(--down)}.filters{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:14px}.filters select,.filters input,input.text,form.login input{background:var(--page);color:var(--text-primary);border:1px solid var(--baseline);border-radius:8px;padding:7px 10px;font-size:13px}.filters select:focus,.filters input:focus{outline:1px solid var(--series-1)}button.btn{background:var(--series-1);border:none;color:#fff;border-radius:8px;padding:8px 16px;font-size:13px;cursor:pointer;font-weight:600}button.btn:hover{filter:brightness(1.1)}button.btn:disabled{opacity:.5;cursor:default}button.btn.ghost{background:none;border:1px solid var(--baseline);color:var(--text-secondary)}.chart{width:100%}.login-wrap{display:flex;align-items:center;justify-content:center;min-height:100vh}form.login{background:var(--surface-1);border:1px solid var(--border);border-radius:14px;padding:36px;width:340px;display:flex;flex-direction:column;gap:14px}form.login h1{font-size:18px;margin:0 0 6px;text-align:center}.error-text{color:var(--status-critical);font-size:13px}.muted{color:var(--text-muted)}.mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12.5px}.pos{color:var(--up)}.neg{color:var(--down)}.kv{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:10px 24px}.kv .item .k{color:var(--text-muted);font-size:12px}.kv .item .v{font-size:15px;font-weight:600;font-variant-numeric:tabular-nums}.pager{display:flex;gap:10px;align-items:center;justify-content:flex-end;margin-top:12px;color:var(--text-muted)}.config-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:14px}.config-grid .item label{display:block;color:var(--text-secondary);font-size:12.5px;margin-bottom:5px}.config-grid .item input{width:100%}.hint{font-size:12px;color:var(--text-muted);margin-top:3px}
