.login-logo[data-v-499ff24b]{height:40px;align-self:center;image-rendering:pixelated}.cards.primary[data-v-992cf08c]{grid-template-columns:repeat(auto-fit,minmax(230px,1fr));margin-bottom:12px}.cards.primary .card[data-v-992cf08c]{padding:16px 18px}.cards.primary .card .value[data-v-992cf08c]{font-size:30px}.delta[data-v-992cf08c]{font-size:13px;font-weight:700;margin-left:6px;color:var(--text-muted)}.delta.up[data-v-992cf08c]{color:var(--success)}.delta.down[data-v-992cf08c]{color:var(--danger)}.card.link[data-v-992cf08c]{cursor:pointer;transition:border-color var(--dur) var(--ease),background var(--dur) var(--ease)}.card.link[data-v-992cf08c]:hover{border-color:var(--accent-border);background:var(--surface-2)}.card.compact[data-v-992cf08c]{padding:10px 14px}.card.compact .value[data-v-992cf08c]{font-size:17px;margin-top:3px}.sys-cards[data-v-992cf08c]{grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}.id-ident[data-v-06e299af]{display:flex;align-items:center;gap:16px}.avatar[data-v-06e299af]{width:56px;height:56px;flex-shrink:0;display:grid;place-items:center;font-size:19px;font-weight:700;letter-spacing:.02em;color:var(--accent);background:var(--accent-soft);border:1px solid var(--accent-border);border-radius:var(--radius-lg);position:relative}.avatar.online[data-v-06e299af]:after{content:"";position:absolute;right:-3px;bottom:-3px;width:13px;height:13px;border-radius:50%;background:var(--success);border:2.5px solid var(--bg)}.id-name[data-v-06e299af]{margin:0 0 2px;display:flex;align-items:center;gap:10px;flex-wrap:wrap}.mod-banner[data-v-06e299af]{background:var(--warning-soft);border:1px solid var(--warning);border-radius:var(--radius);color:var(--warning);font-size:13px;font-weight:600;padding:10px 14px;margin-bottom:16px;display:flex;align-items:center;flex-wrap:wrap;gap:8px}.ledger-credit[data-v-06e299af]{color:var(--success)}.info-grid[data-v-06e299af]{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:12px}.info-card[data-v-06e299af]{padding:16px 18px}.info-card h3[data-v-06e299af]{margin:0 0 10px;font-size:12px;font-weight:650;letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted);display:flex;align-items:center;gap:6px}tbody tr.alert-row td[data-v-34098cd0]{background:var(--danger-soft)}tbody tr.alert-row td[data-v-34098cd0]:first-child{box-shadow:inset 3px 0 0 var(--danger)}.id-name[data-v-f3cb57eb]{margin:0 0 2px;display:flex;align-items:center;gap:10px;flex-wrap:wrap}.skill-badges[data-v-f3cb57eb]{display:flex;flex-wrap:wrap;gap:4px;margin:0 0 4px}.compact-card .value[data-v-f3cb57eb]{font-size:20px}.overview-grid[data-v-f3cb57eb]{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:12px}.ov-card[data-v-f3cb57eb]{padding:16px 18px}.ov-card h3[data-v-f3cb57eb]{margin:0 0 12px;font-size:12px;font-weight:650;letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted)}.build-grid[data-v-f3cb57eb]{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;text-align:center}.build-grid>div[data-v-f3cb57eb]{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-sm);padding:10px 4px}.build-val[data-v-f3cb57eb]{font-size:18px;font-weight:700;font-variant-numeric:tabular-nums}.build-key[data-v-f3cb57eb]{font-size:11px;font-weight:650;letter-spacing:.08em;color:var(--text-muted)}.item-boards[data-v-f3cb57eb]{display:flex;gap:18px;flex-wrap:wrap;align-items:flex-start}.board h3[data-v-f3cb57eb]{margin:0 0 10px;font-size:12px;font-weight:650;letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted)}.mu-window[data-v-f3cb57eb]{position:relative;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-1)}.mu-stage[data-v-f3cb57eb]{position:absolute;left:74px;top:40px;width:172px;height:252px;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-sm)}.mu-stage-inner[data-v-f3cb57eb]{display:none}.mu-slot[data-v-f3cb57eb]{position:absolute;width:44px;height:44px;display:grid;place-items:center;background:var(--surface-2);border:1px solid var(--border-strong);border-radius:var(--radius-sm)}.mu-slot.has-item[data-v-f3cb57eb]{background:var(--surface-3)}.mu-slot img[data-v-f3cb57eb]{max-width:38px;max-height:38px;object-fit:contain;image-rendering:pixelated}.mu-slot .slot-label[data-v-f3cb57eb]{font-size:8px;color:var(--text-faint);text-align:center;line-height:1.2;padding:0 2px}.mu-grid-frame[data-v-f3cb57eb]{position:absolute;background:var(--surface-2);border:1px solid var(--border-strong);border-radius:var(--radius-sm)}.mu-cell[data-v-f3cb57eb]{position:absolute;width:34px;height:34px;border:1px solid var(--border)}.mu-cell.odd[data-v-f3cb57eb]{background:color-mix(in srgb,var(--surface-3) 55%,transparent)}.mu-item[data-v-f3cb57eb]{position:absolute;display:grid;place-items:center;background:var(--surface-3);border:1px solid var(--border-strong);border-radius:3px}.mu-item img[data-v-f3cb57eb]{max-width:calc(100% - 4px);max-height:calc(100% - 4px);object-fit:contain;image-rendering:pixelated}.cell-fallback[data-v-f3cb57eb]{font-size:10px;font-weight:700;color:var(--text-muted)}.plus-tag[data-v-f3cb57eb]{position:absolute;left:2px;top:1px;font-family:var(--font-mono);font-size:9px;font-weight:700;color:var(--accent);text-shadow:0 1px 2px var(--bg)}.count-tag[data-v-f3cb57eb]{position:absolute;right:2px;bottom:1px;font-family:var(--font-mono);font-size:9px;font-weight:700;color:var(--text);text-shadow:0 1px 2px var(--bg)}.raw-json[data-v-f3cb57eb]{margin:10px 0 0;padding:12px 14px;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius);white-space:pre-wrap;overflow-x:auto;color:var(--text-muted)}.catalog-list[data-v-df282829]{width:100%;margin-top:6px}.base-info[data-v-df282829]{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-sm);padding:8px 12px;margin:10px 0}.fields[data-v-df282829]{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:10px 16px}.form-inline[data-v-df282829]{align-items:center}.give-title[data-v-795b3fbe]{margin:0;font-size:15px;font-weight:650;display:flex;align-items:center;gap:8px}.top-grid[data-v-9917fe38]{display:grid;grid-template-columns:repeat(auto-fit,minmax(480px,1fr));gap:16px}@media(max-width:640px){.top-grid[data-v-9917fe38]{grid-template-columns:1fr}}td.tx[data-v-9917fe38]{max-width:180px;overflow:hidden;text-overflow:ellipsis}tbody tr.inactive[data-v-b47379ff],tbody tr.inactive[data-v-b47379ff]:hover{background:var(--danger-soft)}.cards.primary[data-v-2d720b96]{grid-template-columns:repeat(auto-fit,minmax(230px,1fr));margin-bottom:12px}.cards.primary .card[data-v-2d720b96]{padding:16px 18px}.cards.primary .card .value[data-v-2d720b96]{font-size:30px}.card.compact[data-v-2d720b96]{padding:10px 14px}.card.compact .value[data-v-2d720b96]{font-size:17px;margin-top:3px}tbody tr.alert-row td[data-v-d18583ee]{background:var(--danger-soft)}tbody tr.alert-row td[data-v-d18583ee]:first-child{box-shadow:inset 3px 0 0 var(--danger)}.trace-verdict[data-v-d18583ee]{margin-top:10px;padding:8px 10px;border-left:3px solid var(--accent);background:var(--surface-3);font-size:13px}.trace-verdict.danger[data-v-d18583ee]{border-left-color:var(--danger);background:var(--danger-soft)}.first-seen[data-v-d18583ee]{margin:0;padding-left:18px;font-size:13px}.first-seen li[data-v-d18583ee]{margin:2px 0}.cell-link[data-v-5f61f509]{cursor:pointer;text-decoration:underline dotted;text-underline-offset:3px}.cell-link[data-v-5f61f509]:hover{color:var(--accent)}tbody tr[data-v-5f61f509]:has(>.trace-cell){cursor:default}.trace-cell[data-v-5f61f509]{padding:10px 12px 12px;background:var(--surface-2)}.item-form[data-v-8508db52]{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius);padding:14px 16px 16px}.fields[data-v-8508db52]{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:10px 16px;align-items:start}.json-area[data-v-8508db52]{width:100%;resize:vertical}.cfg-grid[data-v-bc3e683b]{display:flex;flex-wrap:wrap;gap:10px 16px;margin-top:10px}.cfg-field[data-v-bc3e683b]{display:flex;flex-direction:column;gap:2px;min-width:150px}.cfg-field input[data-v-bc3e683b],.cfg-field select[data-v-bc3e683b]{width:150px}.cfg-json[data-v-bc3e683b]{flex-basis:100%}.cfg-json textarea[data-v-bc3e683b]{width:100%;font-family:var(--font-mono);font-size:12px}.cfg-export[data-v-bc3e683b]{max-height:320px;overflow:auto;font-family:var(--font-mono);font-size:12px;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-sm);padding:10px 12px}.tab-dot[data-v-bc3e683b]{display:inline-block;width:7px;height:7px;border-radius:var(--radius-full);background:var(--warning);margin-left:6px;vertical-align:middle}.ops-grid[data-v-390468c2]{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:14px}.ops-card[data-v-390468c2]{padding:16px 18px;display:flex;flex-direction:column;gap:10px}.ops-card header[data-v-390468c2]{display:flex;align-items:center;gap:12px}.ops-card header h3[data-v-390468c2]{margin:0 0 4px;font-size:15px;font-weight:650}.ops-ico[data-v-390468c2]{width:38px;height:38px;flex-shrink:0;display:grid;place-items:center;background:var(--accent-soft);color:var(--accent);border-radius:var(--radius)}.ops-card footer[data-v-390468c2]{display:flex;justify-content:flex-end;gap:8px;margin-top:auto}.ops-ico.danger[data-v-390468c2]{background:var(--danger-soft);color:var(--danger)}.wipe-card[data-v-390468c2]{grid-column:1 / -1}.wipe-card .kv[data-v-390468c2]{margin:4px 0 8px}.form-title[data-v-3b88fb28]{margin:0;font-size:15px;font-weight:650}.logbox[data-v-14a2bf5f]{margin-top:10px;height:calc(100vh - 210px);overflow:auto;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-1);padding:6px 10px;font-family:var(--font-mono);font-size:12px;line-height:1.45}.logline[data-v-14a2bf5f]{white-space:pre-wrap;word-break:break-word;color:var(--text)}.logline.warn[data-v-14a2bf5f]{color:var(--warning)}.logline.error[data-v-14a2bf5f]{color:var(--danger)}.ts[data-v-14a2bf5f]{color:var(--text-faint);margin-right:8px;-webkit-user-select:none;user-select:none}.chk[data-v-14a2bf5f]{display:inline-flex;align-items:center;gap:6px;color:var(--text-muted);font-size:13px}.chk input[data-v-14a2bf5f]{accent-color:var(--accent)}.tiles[data-v-850a44a4]{display:flex;gap:12px;margin:12px 0 16px;flex-wrap:wrap}.tile[data-v-850a44a4]{background:var(--surface-2);border:1px solid var(--border);border-radius:8px;padding:12px 16px;min-width:160px}.tile .n[data-v-850a44a4]{font-size:26px;font-weight:700;font-variant-numeric:tabular-nums;color:var(--accent)}.tile .l[data-v-850a44a4]{color:var(--text-muted);font-size:12px;margin-top:2px}.num[data-v-850a44a4]{text-align:right;font-variant-numeric:tabular-nums}.bar-col[data-v-850a44a4]{width:30%}.bar[data-v-850a44a4]{height:10px;background:var(--accent);border-radius:3px;min-width:2px;opacity:.85}tr.warn td[data-v-850a44a4]{color:var(--danger)}tr.warn .bar[data-v-850a44a4]{background:var(--danger)}h3[data-v-850a44a4]{margin-top:20px}select[data-v-850a44a4]{margin-left:8px}:root,:root[data-theme=dark]{color-scheme:dark;--bg: #0e0f12;--surface: #16181d;--surface-2: #1c1f26;--surface-3: #23262f;--border: #262a33;--border-strong: #343945;--text: #e7e9ee;--text-muted: #979dad;--text-faint: #6b7180;--accent: #d4a843;--accent-hover: #e2bc63;--accent-contrast: #1c1504;--accent-soft: rgba(212, 168, 67, .12);--accent-border: rgba(212, 168, 67, .35);--success: #4cc472;--success-soft: rgba(76, 196, 114, .12);--danger: #ef5f5c;--danger-soft: rgba(239, 95, 92, .12);--warning: #efae4e;--warning-soft: rgba(239, 174, 78, .12);--info: #64a4f0;--info-soft: rgba(100, 164, 240, .12);--shadow-1: 0 1px 2px rgba(0, 0, 0, .4);--shadow-2: 0 4px 16px rgba(0, 0, 0, .45);--shadow-3: 0 12px 40px rgba(0, 0, 0, .55);--backdrop: rgba(5, 6, 8, .6);--scrollbar-thumb: #333844;--scrollbar-thumb-hover: #414756}:root[data-theme=light]{color-scheme:light;--bg: #f4f5f8;--surface: #ffffff;--surface-2: #f6f7fa;--surface-3: #eceef3;--border: #e3e5ec;--border-strong: #cdd1db;--text: #1d2029;--text-muted: #5f6577;--text-faint: #9096a6;--accent: #a17c1c;--accent-hover: #8a6a15;--accent-contrast: #ffffff;--accent-soft: rgba(161, 124, 28, .1);--accent-border: rgba(161, 124, 28, .35);--success: #1d8f4b;--success-soft: rgba(29, 143, 75, .1);--danger: #cf3f3c;--danger-soft: rgba(207, 63, 60, .09);--warning: #b07514;--warning-soft: rgba(176, 117, 20, .11);--info: #2f6fce;--info-soft: rgba(47, 111, 206, .1);--shadow-1: 0 1px 2px rgba(25, 30, 45, .07);--shadow-2: 0 4px 16px rgba(25, 30, 45, .1);--shadow-3: 0 12px 40px rgba(25, 30, 45, .16);--backdrop: rgba(28, 32, 44, .42);--scrollbar-thumb: #c9cdd8;--scrollbar-thumb-hover: #b3b8c6}:root{--font: "Segoe UI", system-ui, -apple-system, sans-serif;--font-mono: "Cascadia Code", Consolas, monospace;--font-pixel: "Press Start 2P", monospace;--radius-sm: 6px;--radius: 9px;--radius-lg: 13px;--radius-full: 999px;--ease: cubic-bezier(.25, .6, .3, 1);--dur: .15s}@font-face{font-family:"Press Start 2P";src:url(/fonts/pressstart2p-latin.woff2) format("woff2");font-display:swap}@font-face{font-family:Material Symbols Outlined;font-style:normal;font-weight:400;font-display:block;src:url(/fonts/material-symbols-subset.woff2) format("woff2")}.ms{font-family:Material Symbols Outlined;font-weight:400;font-style:normal;font-size:20px;line-height:1;letter-spacing:normal;text-transform:none;display:inline-block;white-space:nowrap;word-wrap:normal;direction:ltr;-webkit-font-smoothing:antialiased;font-feature-settings:"liga";-webkit-user-select:none;user-select:none}.ms.sm{font-size:17px}*{box-sizing:border-box}html{height:100%}body{margin:0;min-height:100%;color:var(--text);background:var(--bg);font:14px/1.5 var(--font);-webkit-font-smoothing:antialiased}::selection{background:var(--accent-soft);color:var(--text)}h2{margin:0 0 4px;font-size:19px;font-weight:650;letter-spacing:-.01em}.page-sub{color:var(--text-muted);font-size:13px;margin:0 0 18px}h2.section{margin-top:30px;font-size:15px;color:var(--text)}a{color:var(--info);text-decoration:none}a:hover{text-decoration:underline}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:var(--radius-sm)}button{font:inherit}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;vertical-align:middle;font-size:13px;font-weight:600;padding:7px 14px;color:var(--accent-contrast);background:var(--accent);border:1px solid transparent;border-radius:var(--radius-sm);cursor:pointer;transition:background var(--dur) var(--ease),border-color var(--dur) var(--ease),color var(--dur) var(--ease),opacity var(--dur) var(--ease);white-space:nowrap}.btn:hover{background:var(--accent-hover)}.btn.secondary{background:var(--surface-2);color:var(--text);border-color:var(--border-strong)}.btn.secondary:hover{background:var(--surface-3)}.btn.ghost{background:transparent;color:var(--text-muted);border-color:transparent}.btn.ghost:hover{background:var(--surface-2);color:var(--text)}.btn.danger{background:var(--danger);color:#fff}.btn.danger:hover{filter:brightness(1.08)}.btn.danger-soft{background:var(--danger-soft);color:var(--danger);border-color:transparent}.btn.danger-soft:hover{background:var(--danger);color:#fff}.btn.sm{font-size:12px;padding:4px 10px}.btn:disabled{opacity:.45;cursor:default;pointer-events:none}input,select,textarea{background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--radius-sm);color:var(--text);padding:7px 10px;font:inherit;font-size:13px;transition:border-color var(--dur) var(--ease),box-shadow var(--dur) var(--ease)}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}input::placeholder,textarea::placeholder{color:var(--text-faint)}input:disabled,select:disabled,textarea:disabled{opacity:.55}label{font-size:12px;color:var(--text-muted)}.field{display:flex;flex-direction:column;gap:4px}.field>label{font-weight:600}.form-card{width:100%;padding:22px 24px 16px;display:flex;flex-direction:column;gap:16px}.form-row{display:grid;grid-template-columns:170px 1fr;gap:14px;align-items:start}.form-row>label{font-size:13px;font-weight:600;color:var(--text);padding-top:8px}.form-ctl{display:flex;flex-direction:column;gap:5px}.form-ctl>input,.form-ctl>select{max-width:340px}.form-inline{display:flex;gap:8px;flex-wrap:wrap}.form-sep{border-top:1px solid var(--border)}.hint{font-size:12px;color:var(--text-muted)}input.invalid,select.invalid,textarea.invalid{border-color:var(--danger)}.check{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--text);cursor:pointer;padding-top:6px}.check.disabled{color:var(--text-faint);cursor:default}.check input{width:15px;height:15px;accent-color:var(--accent)}.form-foot{display:flex;align-items:center;gap:10px;border-top:1px solid var(--border);padding-top:14px;margin-top:4px}.diff{flex:1;display:flex;gap:6px;flex-wrap:wrap;font-size:12px}.diff-chip{background:var(--accent-soft);color:var(--accent);border:1px solid var(--accent-border);border-radius:var(--radius-full);padding:2px 10px;font-weight:600}.diff-chip.danger{background:var(--danger-soft);color:var(--danger);border-color:transparent}@media(max-width:720px){.form-row{grid-template-columns:1fr}.form-row>label{padding-top:0}}.detail-head{display:flex;align-items:flex-start;gap:14px;flex-wrap:wrap;margin-bottom:14px}.detail-head>div:first-child{flex:1;min-width:260px}.detail-actions{display:flex;gap:6px;flex-wrap:wrap;align-items:center}.clickable-card{cursor:pointer;transition:border-color var(--dur) var(--ease)}.clickable-card:hover{border-color:var(--accent)}.layout{display:flex;min-height:100vh}.content-col{flex:1;min-width:0;display:flex;flex-direction:column}.main{width:100%;max-width:1440px;margin-inline:auto;padding:26px 30px 48px;min-width:0}.topbar{position:sticky;top:0;z-index:50;display:flex;align-items:center;gap:10px;padding:9px 22px;background:var(--surface);border-bottom:1px solid var(--border)}.topbar-search{display:flex;align-items:center;gap:8px;width:min(420px,42vw);background:var(--surface-2);border:1px solid var(--border-strong);border-radius:var(--radius-sm);padding:6px 10px;color:var(--text-faint);font-size:13px;cursor:pointer;transition:border-color var(--dur) var(--ease)}.topbar-search:hover{border-color:var(--accent);color:var(--text-muted)}.topbar-search kbd{margin-left:auto;font:600 11px var(--font);background:var(--surface-3);border:1px solid var(--border);border-radius:4px;padding:1px 6px;color:var(--text-muted)}.icon-btn{position:relative;width:34px;height:34px;display:grid;place-items:center;background:none;border:none;border-radius:var(--radius-sm);color:var(--text-muted);cursor:pointer;transition:background var(--dur) var(--ease),color var(--dur) var(--ease)}.icon-btn:hover{background:var(--surface-2);color:var(--text)}.icon-btn .dot-badge{position:absolute;top:1px;right:1px;min-width:15px;height:15px;padding:0 4px;border-radius:var(--radius-full);background:var(--danger);color:#fff;font-size:10px;font-weight:700;display:grid;place-items:center}.topbar .who-top{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--text-muted)}.palette-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:250;background:var(--backdrop);display:flex;justify-content:center;align-items:flex-start;padding:12vh 20px 20px;animation:fade-in .1s ease-out}.palette{width:min(580px,96vw);background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--radius-lg);box-shadow:var(--shadow-3);overflow:hidden;animation:modal-in .14s var(--ease)}.palette-input{display:flex;align-items:center;gap:10px;padding:13px 16px;border-bottom:1px solid var(--border);color:var(--text-muted)}.palette-input input{flex:1;background:none;border:none;box-shadow:none;font-size:15px;color:var(--text);padding:0}.palette-input input:focus{box-shadow:none;border:none}.palette-results{max-height:52vh;overflow-y:auto;padding:6px}.palette-group{font-size:10px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--text-faint);padding:10px 12px 4px}.palette-item{display:flex;align-items:center;gap:10px;padding:8px 12px;border-radius:var(--radius-sm);cursor:pointer;font-size:13px}.palette-item .ms{color:var(--text-muted)}.palette-item.sel{background:var(--accent-soft)}.palette-item .pal-sub{margin-left:auto;color:var(--text-faint);font-size:12px}.palette-empty{padding:26px 16px;text-align:center;color:var(--text-muted);font-size:13px}.row{display:flex;gap:8px;align-items:center;margin-bottom:14px;flex-wrap:wrap}.row .grow,.spacer-flex{flex:1}.card,.chart-box,.detail,.login-box{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-1)}.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:12px;margin-bottom:20px}.card{padding:14px 16px}.card .label{font-size:11px;font-weight:650;letter-spacing:.07em;text-transform:uppercase;color:var(--text-muted)}.card .value{font-size:24px;font-weight:700;letter-spacing:-.02em;margin-top:6px;font-variant-numeric:tabular-nums}.card .sub{color:var(--text-muted);font-size:12px;margin-top:4px}.card .value.gold{color:var(--accent)}.card .value.green{color:var(--success)}.card .value.red{color:var(--danger)}.charts{display:grid;grid-template-columns:1fr 1fr;gap:12px}@media(max-width:1100px){.charts{grid-template-columns:1fr}}.chart-box{padding:16px}.chart-box h3{margin:0 0 12px;font-size:12px;font-weight:650;letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted)}.table-wrap{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-1);overflow-x:auto}table{width:100%;border-collapse:collapse;font-size:13px}th,td{text-align:left;padding:9px 14px;border-bottom:1px solid var(--border);white-space:nowrap}td{font-variant-numeric:tabular-nums}th{font-size:11px;font-weight:650;letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted);background:var(--surface-2);position:sticky;top:0}tr:last-child td{border-bottom:none}tbody tr{transition:background .08s ease}tbody tr:hover{background:var(--surface-2)}tbody tr.clickable{cursor:pointer}tbody tr.clickable:hover{background:var(--accent-soft)}th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none}th.sortable:hover{color:var(--text)}th .sort-arrow{margin-left:4px;color:var(--accent)}.table-head{display:flex;align-items:center;gap:8px;padding:11px 14px;font-size:13px;font-weight:650;border-bottom:1px solid var(--border);background:var(--surface)}tbody.dim tr{opacity:.55}.empty{padding:42px 20px;text-align:center;color:var(--text-muted);font-size:13px}.empty .empty-icon{font-size:26px;display:block;margin-bottom:8px;opacity:.6}@keyframes skeleton-pulse{50%{opacity:.4}}.skeleton{display:inline-block;height:13px;width:100%;border-radius:4px;background:var(--surface-3);animation:skeleton-pulse 1.1s ease-in-out infinite}td.actions{text-align:right}td.actions .row{margin:0;justify-content:flex-end;flex-wrap:nowrap;display:inline-flex}td.actions .btn+.btn{margin-left:6px}.drag-handle{cursor:grab;color:var(--text-faint);text-align:center;width:28px;-webkit-user-select:none;user-select:none}.drag-handle:active{cursor:grabbing}tbody tr.dragging{opacity:.4}tbody tr.drag-over{box-shadow:inset 0 2px 0 var(--accent)}.badge{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;font-size:11px;font-weight:650;letter-spacing:.03em;border-radius:var(--radius-full);border:1px solid transparent;text-transform:uppercase}.badge.owner{background:var(--accent-soft);color:var(--accent);border-color:var(--accent-border)}.badge.gm{background:var(--info-soft);color:var(--info)}.badge.support{background:var(--surface-3);color:var(--text-muted)}.badge.on{background:var(--success-soft);color:var(--success)}.badge.off{background:var(--surface-3);color:var(--text-muted);text-transform:none}.badge.vip{background:var(--warning-soft);color:var(--warning)}.badge.failed{background:var(--danger-soft);color:var(--danger)}.badge.helper{background:var(--info-soft);color:var(--info)}.badge.warn{background:var(--warning-soft);color:var(--warning)}.maintenance-banner{background:var(--danger-soft);border:1px solid var(--danger);border-radius:var(--radius);color:var(--danger);font-size:13px;font-weight:600;padding:10px 14px;margin-bottom:16px;display:flex;align-items:center;flex-wrap:wrap;gap:8px}.error{color:var(--danger);font-size:13px}.muted{color:var(--text-muted)}.mono{font-family:var(--font-mono);font-size:12px}.detail{padding:18px;margin-top:16px}.detail h3{margin:0 0 6px;font-size:16px;font-weight:650}.detail h4{margin:20px 0 8px;font-size:11px;font-weight:650;letter-spacing:.07em;text-transform:uppercase;color:var(--text-muted)}.kv{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:6px 16px;margin:12px 0 16px;font-size:13px}.kv .k{color:var(--text-muted);margin-right:6px}.login-wrap{min-height:100vh;display:grid;place-items:center}.login-box{padding:34px 32px;width:360px;display:flex;flex-direction:column;gap:14px;box-shadow:var(--shadow-2)}.login-box h1{margin:0;font:16px var(--font-pixel);color:var(--accent);text-align:center}.login-sub{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--text-muted);text-align:center;margin-bottom:8px}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb);border-radius:var(--radius-full);border:2px solid var(--bg)}::-webkit-scrollbar-thumb:hover{background:var(--scrollbar-thumb-hover)}.sidebar{width:236px;flex-shrink:0;background:var(--surface);border-right:1px solid var(--border);display:flex;flex-direction:column;position:sticky;top:0;height:100vh;padding:16px 10px 12px}.sidebar-nav{flex:1;overflow-y:auto;min-height:0;display:flex;flex-direction:column;gap:2px}.brand{display:flex;align-items:center;gap:10px;padding:2px 10px 14px;margin-bottom:10px;border-bottom:1px solid var(--border)}.brand img{width:40px;height:40px;image-rendering:pixelated}.brand-name{font-size:14px;font-weight:700;color:var(--text);line-height:1.2}.brand-sub{display:block;font:600 9px var(--font);letter-spacing:.11em;text-transform:uppercase;color:var(--text-faint);margin-top:3px}.nav-section{font-size:10px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--text-faint);padding:14px 12px 5px}.nav-btn{display:flex;align-items:center;gap:9px;width:100%;font-size:13px;font-weight:550;background:none;border:none;color:var(--text-muted);text-align:left;padding:7px 12px;cursor:pointer;border-radius:var(--radius-sm);transition:background var(--dur) var(--ease),color var(--dur) var(--ease)}.nav-btn:hover{color:var(--text);background:var(--surface-2)}.nav-btn.active{color:var(--accent);background:var(--accent-soft);font-weight:650}.nav-btn .nav-ico{width:18px;text-align:center;flex-shrink:0;opacity:.9}.nav-btn .nav-badge{margin-left:auto}.drawer-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;background:var(--backdrop);display:flex;justify-content:flex-end;animation:fade-in .14s ease-out}@keyframes fade-in{0%{opacity:0}}.drawer{width:min(900px,94vw);height:100%;background:var(--surface);border-left:1px solid var(--border-strong);box-shadow:var(--shadow-3);display:flex;flex-direction:column;animation:drawer-in .18s var(--ease)}@keyframes drawer-in{0%{transform:translate(28px);opacity:.3}}.drawer-head{display:flex;align-items:center;gap:12px;padding:14px 20px;border-bottom:1px solid var(--border);background:var(--surface-2);border-radius:0}.drawer-titles{flex:1;min-width:0;display:flex;align-items:baseline;gap:10px}.drawer-titles h3{margin:0;font-size:16px;font-weight:650;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.drawer-close{padding:4px 10px;line-height:1}.drawer-body{flex:1;overflow-y:auto;padding:18px 20px 32px}.drawer-body .detail{border:none;box-shadow:none;background:transparent;padding:0;margin-top:0}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;background:var(--backdrop);display:grid;place-items:center;animation:fade-in .12s ease-out;padding:20px}.modal{width:min(440px,96vw);background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--radius-lg);box-shadow:var(--shadow-3);animation:modal-in .16s var(--ease)}@keyframes modal-in{0%{transform:translateY(10px) scale(.98);opacity:0}}.modal-head{padding:18px 20px 0}.modal-head h3{margin:0;font-size:16px;font-weight:650;display:flex;align-items:center;gap:8px}.modal-body{padding:10px 20px 4px;color:var(--text-muted);font-size:13px;display:flex;flex-direction:column;gap:12px}.modal-body .field input{width:100%}.modal-foot{display:flex;justify-content:flex-end;gap:8px;padding:16px 20px 18px}.toast-host{position:fixed;right:18px;bottom:18px;z-index:300;display:flex;flex-direction:column;gap:8px;pointer-events:none}.toast{pointer-events:auto;display:flex;align-items:center;gap:10px;min-width:260px;max-width:420px;background:var(--surface);border:1px solid var(--border-strong);border-left:3px solid var(--info);border-radius:var(--radius);box-shadow:var(--shadow-2);padding:11px 14px;font-size:13px;animation:toast-in .18s var(--ease)}@keyframes toast-in{0%{transform:translateY(8px);opacity:0}}.toast.success{border-left-color:var(--success)}.toast.error{border-left-color:var(--danger)}.toast .toast-ico{flex-shrink:0}.toast .toast-msg{flex:1}.toast .toast-x{background:none;border:none;color:var(--text-faint);cursor:pointer;font-size:14px;padding:0 2px;line-height:1}.toast .toast-x:hover{color:var(--text)}.pager{display:flex;align-items:center;gap:10px;padding:10px 4px 0;font-size:13px;color:var(--text-muted)}.pager .pager-info{flex:1}.tabs{display:flex;gap:2px;border-bottom:1px solid var(--border);margin-bottom:16px}.tab{background:none;border:none;cursor:pointer;font-size:13px;font-weight:600;color:var(--text-muted);padding:8px 14px;border-bottom:2px solid transparent;margin-bottom:-1px;transition:color var(--dur) var(--ease)}.tab:hover{color:var(--text)}.tab.active{color:var(--accent);border-bottom-color:var(--accent)}
