:root{--bg: #f7f8fa;--panel: #ffffff;--ink: #11151c;--ink2: #5b6573;--ink3: #9aa3b2;--line: #e6e9ef;--line2: #eef1f5;--accent: #3257f0;--accentSoft: #eaeefd;--green: #16a36a;--greenSoft: #e4f5ee;--amber: #c8820b;--amberSoft: #fbf0da;--red: #dc3838;--redSoft: #fbe6e6;--violet: #7a4fd8;--mono: "JetBrains Mono", ui-monospace, monospace;--sans: "Inter", system-ui, sans-serif;--r: 9px}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--sans);font-size:14px;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font-family:inherit;cursor:pointer}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{background:#d5dae2;border-radius:99px;border:3px solid var(--bg)}.app{display:grid;grid-template-columns:230px 1fr;grid-template-rows:56px 1fr;height:100vh}.topbar{grid-column:1 / -1;display:flex;align-items:center;gap:14px;padding:0 18px;background:var(--panel);border-bottom:1px solid var(--line)}.side{border-right:1px solid var(--line);background:var(--panel);padding:14px 12px;overflow:auto}.main{overflow:auto;padding:24px 28px 60px}.card .tbl{overflow-x:auto}.logo{display:flex;align-items:center;gap:9px;font-weight:700;font-size:15px;letter-spacing:-.2px}.logo .mk{width:24px;height:24px;border-radius:7px;color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:13px}.appsw{position:relative}.appsw>button{display:flex;align-items:center;gap:9px;background:var(--bg);border:1px solid var(--line);border-radius:var(--r);padding:6px 10px;font-weight:600;font-size:13.5px;color:var(--ink)}.appsw .dot{width:18px;height:18px;border-radius:5px;display:flex;align-items:center;justify-content:center;color:#fff;font-size:11px;font-weight:700}.search{flex:1;max-width:380px;display:flex;align-items:center;gap:8px;background:var(--bg);border:1px solid var(--line);border-radius:var(--r);padding:7px 11px;color:var(--ink3)}.search input{border:none;background:none;outline:none;flex:1;font-size:13.5px;color:var(--ink);font-family:inherit}.topright{margin-left:auto;display:flex;align-items:center;gap:12px}.iconbtn{width:34px;height:34px;border:1px solid var(--line);background:var(--panel);border-radius:8px;display:flex;align-items:center;justify-content:center;position:relative}.me{display:flex;align-items:center;gap:9px;padding-left:4px}.me .av{width:30px;height:30px;border-radius:50%;background:linear-gradient(140deg,#5b6bd8,#7a4fd8);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:12px}.navlbl{font-size:11px;font-weight:600;letter-spacing:.6px;text-transform:uppercase;color:var(--ink3);margin:14px 10px 6px}.nav{display:flex;align-items:center;gap:10px;width:100%;border:none;background:none;text-align:left;padding:9px 10px;border-radius:8px;color:var(--ink2);font-size:13.5px;font-weight:500}.nav:hover{background:var(--bg);color:var(--ink)}.nav.active{background:var(--accentSoft);color:var(--accent);font-weight:600}.nav .ct{margin-left:auto;font-size:11px;font-family:var(--mono);background:var(--line);color:var(--ink2);padding:1px 7px;border-radius:99px}.nav.active .ct{background:#fff;color:var(--accent)}.nav.danger .ct{background:var(--redSoft);color:var(--red)}h1{font-size:21px;font-weight:700;letter-spacing:-.3px;margin:0}.crumbs{color:var(--ink3);font-size:12.5px;margin-bottom:3px}.pagehead{display:flex;align-items:flex-end;margin-bottom:22px}.pagehead .sub{color:var(--ink2);font-size:13.5px;margin-top:4px}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:22px}.stat{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:15px 16px}.stat .k{font-size:12.5px;color:var(--ink2);display:flex;align-items:center;gap:7px}.stat .v{font-size:27px;font-weight:700;letter-spacing:-.5px;margin-top:8px;font-variant-numeric:tabular-nums}.stat .d{font-size:12px;font-weight:600;margin-top:5px;display:inline-flex;align-items:center;gap:3px}.up{color:var(--green)}.down{color:var(--red)}.flat{color:var(--ink3)}.grid2{display:grid;grid-template-columns:1.5fr 1fr;gap:16px}.card{background:var(--panel);border:1px solid var(--line);border-radius:12px;overflow:hidden}.card .h{display:flex;align-items:center;gap:10px;padding:13px 16px;border-bottom:1px solid var(--line2)}.card .h .t{font-weight:600;font-size:14px}.card .h .a{margin-left:auto}.link{color:var(--accent);font-weight:600;font-size:12.5px;background:none;border:none;cursor:pointer}.chart{display:flex;align-items:flex-end;gap:8px;height:150px;padding:18px 16px 10px}.bar{flex:1;display:flex;flex-direction:column;align-items:center;gap:7px;height:100%;justify-content:flex-end}.bar .b{width:100%;max-width:30px;border-radius:5px 5px 0 0;background:var(--accent);transition:height .3s}.bar small{font-size:10.5px;color:var(--ink3)}table{width:100%;border-collapse:collapse}th{text-align:left;font-size:11.5px;font-weight:600;letter-spacing:.4px;text-transform:uppercase;color:var(--ink3);padding:10px 16px;border-bottom:1px solid var(--line2);background:#fcfcfe;position:sticky;top:0}td{padding:11px 16px;border-bottom:1px solid var(--line2);font-size:13.5px;vertical-align:middle}tr:last-child td{border-bottom:none}tr.rowh:hover td{background:#fafbfd}.u{display:flex;align-items:center;gap:9px}.u .av{width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:700;font-size:11px;flex-shrink:0}.u .nm{font-weight:600}.u .hd{color:var(--ink3);font-size:12px;font-family:var(--mono)}.mono{font-family:var(--mono);font-size:12.5px;color:var(--ink2)}.badge{display:inline-flex;align-items:center;gap:5px;font-size:11.5px;font-weight:600;padding:3px 9px;border-radius:99px;white-space:nowrap}.b-live{background:var(--greenSoft);color:var(--green)}.b-ended{background:var(--line);color:var(--ink2)}.b-open{background:var(--amberSoft);color:var(--amber)}.b-ban{background:var(--redSoft);color:var(--red)}.b-ok{background:var(--greenSoft);color:var(--green)}.dotv{width:7px;height:7px;border-radius:50%}.btn{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--line);background:var(--panel);color:var(--ink);border-radius:8px;padding:6px 11px;font-size:12.5px;font-weight:600}.btn:hover{background:var(--bg)}.btn.pri{background:var(--accent);border-color:var(--accent);color:#fff}.btn.pri:hover{filter:brightness(1.06)}.btn.dng{color:var(--red);border-color:var(--redSoft);background:var(--redSoft)}.btn.dng:hover{background:#f8d8d8}.btn.gho{border-color:transparent;background:none;color:var(--ink2)}.btn.gho:hover{background:var(--bg)}.btn.sm{padding:4px 9px;font-size:12px}.btn:disabled{opacity:.55;cursor:default}.filters{display:flex;align-items:center;gap:8px;margin-bottom:14px;flex-wrap:wrap}.seg{display:flex;background:var(--panel);border:1px solid var(--line);border-radius:8px;overflow:hidden}.seg button{border:none;background:none;padding:7px 13px;font-size:12.5px;font-weight:600;color:var(--ink2);border-right:1px solid var(--line)}.seg button:last-child{border-right:none}.seg button.on{background:var(--ink);color:#fff}.rep{padding:15px 16px;border-bottom:1px solid var(--line2)}.rep:last-child{border-bottom:none}.rep .top{display:flex;align-items:center;gap:9px;margin-bottom:9px}.rep .reason{font-weight:600}.rep .ctx{background:var(--bg);border:1px solid var(--line);border-radius:8px;padding:10px 12px;font-size:13px;color:var(--ink2);margin:9px 0;line-height:1.45}.rep .acts{display:flex;gap:8px}.empty{padding:50px 20px;text-align:center;color:var(--ink3)}.empty .ic{width:46px;height:46px;border-radius:12px;background:var(--bg);display:flex;align-items:center;justify-content:center;margin:0 auto 12px}.toast{position:fixed;bottom:22px;left:50%;transform:translate(-50%);background:var(--ink);color:#fff;padding:11px 18px;border-radius:99px;font-size:13.5px;font-weight:600;box-shadow:0 10px 30px #00000040;display:flex;align-items:center;gap:9px;opacity:0;pointer-events:none;transition:opacity .25s,transform .25s;z-index:200}.toast.show{opacity:1;transform:translate(-50%) translateY(0)}svg{display:block}.signin{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px}.signin .box{width:360px;background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:28px;box-shadow:0 12px 34px #141c2d14}.signin h2{margin:0 0 4px;font-size:19px}.signin p{margin:0 0 18px;color:var(--ink2);font-size:13.5px}.signin input{width:100%;border:1px solid var(--line);background:var(--bg);border-radius:9px;padding:10px 12px;font-size:14px;font-family:inherit;outline:none;margin-bottom:12px}.signin input:focus{border-color:var(--accent)}.signin .err{color:var(--red);font-size:12.5px;margin-bottom:10px}
