:root{color-scheme:dark;--bg:#101318;--panel:#181c23;--line:#2a303b;--text:#e8edf4;--muted:#8d98a9;--accent:#9ce3bd;--blue:#82b4f7;--amber:#e4bb7c;font-family:"Segoe UI","Microsoft YaHei",sans-serif;font-size:14px}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text)}button,input,select{font:inherit}button{cursor:pointer;border:1px solid var(--line);border-radius:6px;padding:9px 14px;background:#232a34;color:var(--text);white-space:nowrap}button:hover{border-color:#617084}button:disabled{opacity:.45;cursor:wait}button.primary{background:var(--accent);border-color:var(--accent);color:#11251b;font-weight:600}input,select{background:#11161d;color:var(--text);border:1px solid #394351;border-radius:6px;min-height:40px;padding:8px 10px;width:100%}input:focus,select:focus,button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}label{display:grid;gap:8px;color:var(--muted);font-size:12px}h1,h2,h3,p{margin:0}h1{font-size:26px;font-weight:600;letter-spacing:-.5px}h2{font-size:16px;font-weight:600}h3{font-size:14px}small,.muted{color:var(--muted)}.shell{display:grid;grid-template-columns:210px minmax(0,1fr);min-height:100dvh}.sidebar{padding:30px 18px;border-right:1px solid var(--line);background:#13171d;display:flex;flex-direction:column;gap:32px;position:sticky;top:0;height:100dvh}.brand{font-size:18px;font-weight:700;letter-spacing:2px;padding:0 12px}.brand span{color:var(--accent)}.brand small{display:block;font-size:10px;font-weight:400;letter-spacing:3px;margin-top:8px}.nav{display:grid;gap:7px}.nav button{text-align:left;background:none;border-color:transparent;color:var(--muted);padding:12px}.nav button.active{background:#24352d;color:var(--accent)}.side-bottom{margin-top:auto;padding:0 10px;display:grid;gap:12px}.avatar{height:34px;width:34px;display:grid;place-items:center;background:#30473b;color:var(--accent);border-radius:8px}.userbox{display:flex;align-items:center;gap:10px}.workspace{padding:32px 36px;min-width:0;max-width:1900px;width:100%;margin:auto}.top{display:flex;justify-content:space-between;gap:16px;align-items:center;margin-bottom:25px}.top p{margin-top:9px;color:var(--muted);font-size:12px}.top-actions{display:flex;gap:10px;align-items:center}.status{font-size:12px;color:var(--accent)}.status:before{content:'';display:inline-block;background:var(--accent);width:6px;height:6px;border-radius:50%;margin-right:7px}.notice{border-left:3px solid var(--amber);background:#302a1f;padding:11px 15px;color:#e4c79a;margin-bottom:20px;font-size:12px}.filters{display:grid;grid-template-columns:1.2fr 1.2fr 1fr 1.2fr 1.2fr;gap:14px;padding:20px;background:var(--panel);border:1px solid var(--line);border-radius:8px;margin-bottom:20px}.summary{display:grid;grid-template-columns:repeat(4,1fr);gap:15px;margin-bottom:22px}.stat{background:var(--panel);border:1px solid var(--line);border-radius:8px;padding:20px}.stat .label{color:var(--muted);font-size:12px}.stat .value{font-family:Consolas,monospace;font-size:34px;margin:14px 0 10px;line-height:1}.stat .unit{font-size:14px;color:var(--muted);margin-left:6px}.stat .sub{font-size:11px;color:var(--muted);line-height:1.7}.positive{color:var(--accent)}.negative{color:var(--amber)}.board{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:20px;align-items:start}.charts{display:grid;gap:18px}.panel{border:1px solid var(--line);background:var(--panel);border-radius:8px;padding:20px;min-width:0}.panel-head{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:14px}.panel-head small{font-family:Consolas,monospace;font-size:10px;letter-spacing:1px}.chart-wrap{height:220px;position:relative}.chart-wrap canvas{width:100%;height:100%;display:block;touch-action:pan-y}.tooltip{position:absolute;pointer-events:none;background:#0e131bf5;border:1px solid #4b596a;border-radius:5px;padding:10px 12px;font-size:12px;line-height:1.8;z-index:2;white-space:nowrap;display:none}.chart-hint{font-size:11px;color:var(--muted);margin-top:10px}.info-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.info-grid div{display:grid;gap:8px;font-size:13px}.info-grid small{font-size:11px}.records{max-height:980px;overflow:auto}.record{padding:18px 0;border-bottom:1px solid var(--line)}.record:first-child{padding-top:0}.record time{color:var(--amber);font-size:12px;display:block;margin-bottom:13px}.diff{display:grid;grid-template-columns:1.1fr 1fr 1fr;gap:8px;font-size:11px;line-height:1.7;margin:8px 0}.diff span:first-child{color:var(--muted)}.diff span:last-child{color:var(--accent)}.empty{padding:45px 20px;text-align:center;color:var(--muted);line-height:2}.empty strong{display:block;color:var(--text);font-size:16px;margin-bottom:6px}.toolbar{display:flex;gap:12px;align-items:center;margin-bottom:18px;flex-wrap:wrap}.toolbar input{max-width:260px}.table-scroll{overflow:auto}table{border-collapse:collapse;width:100%;font-size:12px;text-align:left}th{font-weight:400;color:var(--muted);background:#141920}th,td{padding:15px 12px;border-bottom:1px solid var(--line);white-space:nowrap}td select{width:160px}.badge{padding:4px 8px;background:#26352d;color:var(--accent);border-radius:4px;font-size:11px}.badge.warn{background:#382f22;color:var(--amber)}.management{display:grid;gap:22px}.form-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.form-actions{margin-top:20px;display:flex;gap:10px;align-items:center}.inline{display:flex;gap:10px;align-items:end}.inline label{flex:1}code,pre{font-family:Consolas,monospace}pre{background:#10151c;border:1px solid var(--line);padding:18px;border-radius:6px;white-space:pre-wrap;word-break:break-word;color:#b7d9c6;font-size:12px;line-height:1.8}.doc{line-height:1.9;color:#b5bfcd}.doc h3{color:var(--text);margin:22px 0 10px}.login{min-height:100dvh;display:grid;place-items:center;padding:24px;background:radial-gradient(ellipse at 50% 20%,#20342b 0,transparent 55%)}.login-card{width:min(420px,100%);padding:40px;border:1px solid var(--line);border-radius:12px;background:var(--panel)}.login-card .brand{padding:0;margin-bottom:35px}.login-card h1{font-size:23px;margin-bottom:10px}.login-card form{display:grid;gap:20px;margin-top:28px}.error{color:#f1a4a4;font-size:12px;min-height:18px;line-height:1.7}.boot{padding:80px;text-align:center;color:var(--muted)}#toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);background:#d9ece1;color:#163323;padding:13px 22px;border-radius:6px;z-index:20;display:none;max-width:90vw}.checklist{display:flex;flex-wrap:wrap;gap:14px;padding:12px 0}.checklist label{display:flex;align-items:center;gap:6px}.checklist input{width:16px;min-height:auto}.select-row{margin-top:12px;max-width:600px}.split{display:grid;grid-template-columns:1fr 1fr;gap:20px}.mobile-brand{display:none}.count{font-size:12px;color:var(--muted)}@media(min-width:1600px){.chart-wrap{height:260px}}@media(max-width:1200px){.workspace{padding:25px}.board{grid-template-columns:minmax(0,1fr) 285px}.filters{grid-template-columns:repeat(3,1fr)}.sidebar{width:180px}.shell{grid-template-columns:180px minmax(0,1fr)}}@media(max-width:900px){.shell{display:block}.sidebar{position:static;height:auto;width:auto;padding:16px;gap:16px;border-right:0;border-bottom:1px solid var(--line)}.sidebar .brand{display:none}.nav{display:flex;overflow:auto}.nav button{padding:10px}.side-bottom{display:none}.workspace{padding:20px 16px}.board{grid-template-columns:1fr}.records{max-height:450px}.top{align-items:flex-start}h1{font-size:23px}.summary{grid-template-columns:repeat(2,1fr)}.filters{grid-template-columns:repeat(2,1fr)}.form-grid{grid-template-columns:repeat(2,1fr)}.split{grid-template-columns:1fr}}@media(max-width:520px){.filters{grid-template-columns:1fr}.top-actions .status{display:none}.info-grid{grid-template-columns:repeat(2,1fr)}.form-grid{grid-template-columns:1fr}.stat{padding:15px}.stat .value{font-size:29px}.panel{padding:15px}.chart-wrap{height:200px}.login-card{padding:28px}}
input[type="checkbox"]{width:16px;height:16px;min-height:16px;padding:0;accent-color:var(--accent)}.auto-label span{display:flex;align-items:center;gap:7px}.brand{letter-spacing:1px;font-size:16px}.login-card>p:last-child{margin-top:24px;font-size:11px}.management form,.inline,.form-grid{margin-top:20px}.doc>p{margin-top:12px}
.spaced{margin-top:20px}.spaced-small{margin-top:12px}.login-footnote{margin-top:24px;font-size:11px}
