:root{--bg:#0f1115;--card:#171a21;--card2:#1e2230;--line:#2a2f3a;--fg:#e8eaed;--muted:#9aa3b2;--accent:#4f8cff;--accent2:#35c48a;--danger:#ff6b6b;--radius:12px}*{box-sizing:border-box}html,body{background:var(--bg);color:var(--fg);-webkit-text-size-adjust:100%;margin:0;padding:0;font:15px/1.5 -apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,PingFang SC,Microsoft YaHei,sans-serif}.topbar{z-index:10;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--line);background:#0f1115eb;align-items:center;gap:8px;padding:10px 14px;display:flex;position:sticky;top:0}.brand{letter-spacing:.5px;font-weight:600}.spacer{flex:1}.badge{background:var(--card2);color:var(--muted);border:1px solid var(--line);border-radius:999px;padding:3px 8px;font-size:12px}.badge.on{color:var(--accent2);border-color:#35c48a66}main{flex-direction:column;gap:12px;max-width:900px;margin:0 auto;padding:12px;display:flex}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:14px}h2,h3{margin:0 0 10px;font-size:15px;font-weight:600}.muted{color:var(--muted)}.small{font-size:12px}.field{margin-bottom:10px;display:block}.field span{color:var(--muted);margin-bottom:4px;font-size:12px;display:block}.field.inline{flex:140px;margin:0}input,select,button{font:inherit;color:var(--fg);background:var(--card2);border:1px solid var(--line);border-radius:8px;width:100%;padding:8px 10px}input[type=date]{width:auto}select{appearance:none}button{cursor:pointer;width:auto;transition:filter .15s}button:hover{filter:brightness(1.15)}button:disabled{opacity:.5;cursor:default}button.primary{background:var(--accent);border-color:var(--accent);color:#fff;width:100%;font-weight:600}button.ghost{background:0 0}.toolbar{flex-wrap:wrap;align-items:flex-end;gap:10px;display:flex}.custom{flex:220px;align-items:center;gap:6px;display:flex}.msg{min-height:18px;color:var(--danger);margin:8px 0 0;font-size:13px}.stats{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px;display:grid}.stat{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:10px 12px}.stat .k{color:var(--muted);font-size:12px}.stat .v{font-variant-numeric:tabular-nums;margin-top:2px;font-size:20px;font-weight:600}.stat .v small{color:var(--muted);margin-left:3px;font-size:12px;font-weight:400}.chart{height:240px;position:relative}.table-wrap{-webkit-overflow-scrolling:touch;overflow-x:auto}table{border-collapse:collapse;font-variant-numeric:tabular-nums;white-space:nowrap;width:100%;font-size:13px}th,td{border-bottom:1px solid var(--line);text-align:right;padding:7px 8px}th:first-child,td:first-child{text-align:left}th{color:var(--muted);background:var(--card);font-weight:500;position:sticky;top:0}tbody tr:hover{background:var(--card2)}.empty{text-align:center;color:var(--muted);padding:18px}
