:root{color-scheme:dark;--bg: #0a101d;--bg-soft: #0e1626;--panel: #111a2b;--panel-2: #0d1524;--border: #22304a;--border-soft: #1a263c;--text: #e8eefb;--muted: #8fa3c2;--accent: #6b9bff;--accent-2: #8b5cf6;--up: #38bdf8;--down: #34d399;--warn: #fbbf24;--danger: #f87171;--ok: #34d399;--chart-up: #38bdf8;--chart-down: #34d399;--shadow: 0 12px 32px rgba(0, 0, 0, .28);--radius: 14px}html[data-theme=light]{color-scheme:light;--bg: #f3f6fb;--bg-soft: #eaf0f9;--panel: #ffffff;--panel-2: #f8fafd;--border: #dbe3ef;--border-soft: #e8eef7;--text: #10203a;--muted: #5b6c86;--accent: #2f6bff;--accent-2: #7c3aed;--up: #0284c7;--down: #059669;--warn: #b45309;--danger: #dc2626;--ok: #059669;--chart-up: #0284c7;--chart-down: #059669;--shadow: 0 10px 26px rgba(16, 32, 58, .08)}*{box-sizing:border-box}html,body,#root{min-height:100%}body{margin:0;background:radial-gradient(1200px 600px at 15% -10%,rgba(107,155,255,.12),transparent 60%),var(--bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Hiragino Sans GB,Noto Sans SC,Microsoft YaHei,sans-serif;font-size:14px;line-height:1.55;-webkit-font-smoothing:antialiased}html[data-theme=light] body{background:radial-gradient(900px 500px at 10% -10%,rgba(47,107,255,.08),transparent 60%),var(--bg)}button,input,select{font:inherit;color:inherit}a{color:var(--accent);text-decoration:none}h1,h2,h3,p{margin:0}.mono{font-family:SF Mono,ui-monospace,Menlo,Consolas,monospace;font-variant-numeric:tabular-nums}.small{font-size:12px}.nowrap{white-space:nowrap}.muted{color:var(--muted)}.strong{font-weight:700}.stack{display:flex;flex-direction:column;gap:18px}.stack-sm{display:flex;flex-direction:column;gap:12px}.grid-two{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(0,1fr);gap:18px;align-items:start}.shell{display:grid;grid-template-columns:236px minmax(0,1fr);min-height:100vh}.sidebar{position:sticky;top:0;height:100vh;display:flex;flex-direction:column;gap:22px;padding:22px 16px;background:linear-gradient(180deg,var(--bg-soft),transparent 140%);border-right:1px solid var(--border)}.brand{display:flex;align-items:center;gap:11px;padding:0 6px}.brand-mark{display:grid;place-items:center;width:38px;height:38px;border-radius:11px;background:linear-gradient(135deg,var(--accent),var(--accent-2));color:#fff;font-weight:800;letter-spacing:.5px;box-shadow:0 6px 18px #6b9bff59}.brand-title{font-weight:700;font-size:14.5px}.brand-sub{color:var(--muted);font-size:11.5px}.nav{display:flex;flex-direction:column;gap:4px}.nav-item{display:flex;align-items:center;gap:10px;width:100%;padding:9px 12px;border:1px solid transparent;border-radius:10px;background:transparent;color:var(--muted);cursor:pointer;text-align:left;transition:background .15s,color .15s,border-color .15s}.nav-item:hover{background:var(--panel);color:var(--text)}.nav-item.active{background:linear-gradient(90deg,#6b9bff29,#8b5cf614);border-color:#6b9bff59;color:var(--text);font-weight:600}.nav-icon{display:grid;place-items:center;width:20px;height:20px}.nav-label-short{display:none}.sidebar-foot{margin-top:auto;display:flex;flex-direction:column;gap:10px;padding:10px 6px 0;border-top:1px solid var(--border-soft)}.source-pill{display:inline-flex;align-items:center;gap:7px;font-size:12px;color:var(--muted);font-family:SF Mono,ui-monospace,Menlo,monospace}.dot{width:8px;height:8px;border-radius:50%;background:var(--muted)}.dot-ok{background:var(--ok);box-shadow:0 0 0 3px #34d3992e}.dot-warn{background:var(--warn);box-shadow:0 0 0 3px #fbbf2429}.theme-toggle{border:1px solid var(--border);background:var(--panel);color:var(--muted);border-radius:9px;padding:7px 10px;cursor:pointer;text-align:left}.theme-toggle:hover{color:var(--text)}.main{min-width:0;padding:18px 26px 40px}.banner{margin:0 0 14px;padding:10px 14px;border-radius:11px;border:1px solid transparent;font-size:13px}.banner-danger{background:#f871711a;border-color:#f8717166;color:var(--text)}.banner-warn{background:#fbbf2414;border-color:#fbbf2459;color:var(--text)}.topbar{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;flex-wrap:wrap;margin:4px 0 20px}.topbar h1{font-size:22px;font-weight:700;letter-spacing:.2px}.topbar-sub{margin-top:4px;color:var(--muted);font-size:12.5px}.topbar-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.user-chip{padding:6px 11px;border-radius:999px;border:1px solid var(--border);background:var(--panel);font-size:12px;color:var(--muted)}.content{max-width:1440px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;border-radius:9px;padding:7px 12px;border:1px solid var(--border);background:var(--panel);color:var(--text);font-size:12.5px;cursor:pointer;transition:border-color .15s,background .15s,opacity .15s;white-space:nowrap}.btn:hover:not(:disabled){border-color:var(--accent)}.btn:disabled{opacity:.45;cursor:not-allowed}.btn-primary{background:linear-gradient(135deg,var(--accent),var(--accent-2));border-color:transparent;color:#fff;font-weight:600}.btn-ghost{background:transparent}.range-picker{display:inline-flex;padding:3px;border:1px solid var(--border);border-radius:10px;background:var(--panel)}.range-picker button{border:0;background:transparent;color:var(--muted);padding:5px 10px;border-radius:7px;cursor:pointer;font-size:12px;white-space:nowrap}.range-picker button.active{background:#6b9bff2e;color:var(--text);font-weight:600}.panel{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);padding:16px 18px;box-shadow:var(--shadow);min-width:0}.panel-head{display:flex;justify-content:space-between;align-items:flex-start;gap:14px;margin-bottom:14px;flex-wrap:wrap}.panel-title{font-size:15px;font-weight:650}.panel-sub{margin-top:3px;color:var(--muted);font-size:12px}.panel-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.stat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.stat-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.stat-card{position:relative;background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);padding:15px 16px;box-shadow:var(--shadow);overflow:hidden}.stat-card:after{content:"";position:absolute;inset:0 auto auto 0;width:100%;height:3px;opacity:.75;background:var(--accent)}.stat-card.tone-down:after{background:var(--down)}.stat-card.tone-up:after{background:var(--up)}.stat-card.tone-warn:after{background:var(--warn)}.stat-card.tone-danger:after{background:var(--danger)}.stat-head{display:flex;justify-content:space-between;align-items:center}.stat-label{color:var(--muted);font-size:12px}.stat-icon{color:var(--muted);opacity:.7}.stat-value{margin:7px 0 3px;font-size:24px;font-weight:720;letter-spacing:.2px;font-variant-numeric:tabular-nums}.stat-sub{color:var(--muted);font-size:11.5px}.table-wrap{overflow-x:auto;border-radius:10px;border:1px solid var(--border-soft)}.table{width:100%;border-collapse:collapse;font-size:12.8px}.table th,.table td{padding:9px 11px;text-align:left;border-bottom:1px solid var(--border-soft);vertical-align:top}.table th{position:sticky;top:0;background:var(--panel-2);color:var(--muted);font-weight:600;font-size:11.5px;white-space:nowrap;z-index:1}.table tbody tr:last-child td{border-bottom:0}.table tbody tr:hover{background:#6b9bff0d}.table .num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.table.compact td,.table.compact th{padding:7px 9px}.table tr.clickable{cursor:pointer}.table tr.selected{background:#6b9bff1a}.table tr.detail-row:hover{background:transparent}.detail-row td{background:var(--panel-2)}.detail-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;padding:6px 2px}.detail-grid strong{display:block;font-size:11px;color:var(--muted);margin-bottom:2px;font-weight:600}.detail-wide{grid-column:span 4}.cell-main{font-weight:550}.cell-sub{color:var(--muted);font-size:11px;margin-top:1px}.pager{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:12px;color:var(--muted);font-size:12px;flex-wrap:wrap}.row-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.filters{display:flex;align-items:flex-end;gap:12px;flex-wrap:wrap;margin-bottom:12px}.field{display:flex;flex-direction:column;gap:5px;font-size:12px;color:var(--muted)}.field.inline{flex-direction:row;align-items:center;gap:7px}.field input,.field select,.search-input,.search input{background:var(--panel-2);border:1px solid var(--border);border-radius:9px;padding:7px 10px;color:var(--text);outline:none;min-width:0}.field input:focus,.field select:focus,.search input:focus,.search-input:focus{border-color:var(--accent)}.field input[type=number]{width:100%}.search{display:flex;gap:7px;flex:1;min-width:220px}.search input{flex:1}.search-input{width:180px}.form-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.readonly-value{padding:7px 10px;border:1px dashed var(--border);border-radius:9px;color:var(--muted);font-size:12.5px}.switch-row{display:flex;gap:22px;flex-wrap:wrap;margin-top:16px}.switch{display:inline-flex;align-items:center;gap:8px;font-size:12.5px;cursor:pointer}.switch input{width:16px;height:16px;accent-color:var(--accent)}.switch.danger span{color:var(--danger)}.check{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:var(--muted)}.check input{accent-color:var(--accent)}.kv-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}.kv-list li{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:8px 0;border-bottom:1px dashed var(--border-soft)}.kv-list li:last-child{border-bottom:0}.kv-list li>span:first-child{color:var(--muted)}.support-list{display:flex;flex-direction:column;gap:8px}.support-row{display:grid;grid-template-columns:170px 84px minmax(0,1fr);gap:10px;align-items:center;padding:6px 0;border-bottom:1px dashed var(--border-soft);font-size:12px}.support-row:last-child{border-bottom:0}.support-note{color:var(--muted)}.bullet-list{margin:0;padding-left:18px;display:flex;flex-direction:column;gap:6px;color:var(--muted);font-size:12.5px}.bullet-list.small{font-size:11.5px}.bar{height:7px;border-radius:999px;background:var(--panel-2);overflow:hidden;border:1px solid var(--border-soft);min-width:70px}.bar span{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,var(--accent),var(--accent-2))}.badge{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:999px;font-size:10.5px;border:1px solid var(--border);color:var(--muted);white-space:nowrap}.badge-ok{color:var(--ok);border-color:#34d39959;background:#34d39914}.badge-warn{color:var(--warn);border-color:#fbbf2459;background:#fbbf2414}.badge-danger{color:var(--danger);border-color:#f8717159;background:#f8717114}.badge-neutral{color:var(--muted)}.inline-note,.inline-alert,.inline-ok{margin-top:10px;font-size:12px;color:var(--muted);line-height:1.6}.inline-alert{color:var(--danger)}.inline-ok{color:var(--ok)}.loading-block,.empty-block,.error-block{display:flex;align-items:center;gap:10px;padding:26px 16px;justify-content:center;color:var(--muted);font-size:12.5px;flex-wrap:wrap}.error-block{flex-direction:column;align-items:flex-start;gap:6px;border:1px solid rgba(248,113,113,.35);background:#f871710f;border-radius:10px;padding:14px 16px}.spinner{width:15px;height:15px;border-radius:50%;border:2px solid var(--border);border-top-color:var(--accent);animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.splash{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;color:var(--muted)}.summary-row{display:flex;gap:26px;margin-bottom:12px;flex-wrap:wrap}.summary-row>div{display:flex;flex-direction:column;font-size:12px}.summary-row strong{font-size:17px;font-weight:700}.detail-layout{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:22px}.sub-title{font-size:13px;margin:0 0 8px}.rank-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.rank-list li{display:flex;justify-content:space-between;gap:12px;padding-bottom:6px;border-bottom:1px dashed var(--border-soft);font-size:12px}.export-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.login-page{min-height:100vh;display:grid;place-items:center;padding:22px}.login-card{width:min(420px,100%);background:var(--panel);border:1px solid var(--border);border-radius:18px;padding:28px 26px;box-shadow:var(--shadow);display:flex;flex-direction:column;gap:14px}.login-brand{display:flex;align-items:center;gap:12px;margin-bottom:4px}.login-brand h1{font-size:18px}.login-brand p{color:var(--muted);font-size:11.5px;margin-top:2px}.login-submit{margin-top:4px;padding:10px;width:100%}.login-note{color:var(--muted);font-size:11px;line-height:1.6}@media(max-width:1180px){.stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-two,.detail-layout{grid-template-columns:minmax(0,1fr)}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:900px){.shell{grid-template-columns:minmax(0,1fr)}.sidebar{position:static;height:auto;flex-wrap:wrap;flex-direction:row;align-items:center;gap:10px 12px;padding:12px 14px;border-right:0;border-bottom:1px solid var(--border);overflow:visible}.brand{flex:1 1 auto}.brand-sub{display:none}.nav{order:3;width:100%;flex-direction:row;gap:2px;overflow-x:auto;padding-bottom:2px}.nav-item{width:auto;padding:7px 9px;white-space:nowrap}.nav-label-full{display:none}.nav-label-short{display:inline}.sidebar-foot{margin:0 0 0 auto;flex-direction:row;align-items:center;border-top:0;padding:0}.main{padding:14px 14px 34px}.topbar h1{font-size:19px}.support-row{grid-template-columns:1fr auto}.support-note{grid-column:span 2}.detail-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.detail-wide{grid-column:span 2}}@media(max-width:620px){.stat-grid,.stat-grid.three,.form-grid{grid-template-columns:minmax(0,1fr)}.topbar{align-items:flex-start}.topbar-actions{width:100%}.range-picker{flex:0 0 auto}.panel{padding:13px}.detail-grid{grid-template-columns:minmax(0,1fr)}.detail-wide{grid-column:span 1}}.form-narrow{max-width:460px}.audit-detail{min-width:220px;word-break:break-word}.danger-text{color:var(--danger)}.btn-danger{background:var(--danger);border-color:transparent;color:#fff;font-weight:600}.danger-box{margin:0 0 14px;padding:12px 14px;border:1px solid rgba(248,113,113,.45);background:#f8717114;border-radius:10px}.danger-box p{color:var(--muted);font-size:12px;margin:6px 0 10px}.alias-form{display:flex;flex-direction:column;gap:10px;margin:0 0 16px;padding:12px 14px;border:1px dashed var(--border);border-radius:10px;background:var(--panel-2)}.alias-form textarea{background:var(--panel);border:1px solid var(--border);border-radius:9px;padding:7px 10px;color:var(--text);resize:vertical;font:inherit}.range-wrap{position:relative}.range-pop{position:absolute;right:0;top:calc(100% + 8px);z-index:30;width:310px;max-width:calc(100vw - 28px);background:var(--panel);border:1px solid var(--border);border-radius:12px;padding:13px 14px;box-shadow:var(--shadow);display:flex;flex-direction:column;gap:9px}.range-pop .field input{width:100%}@media(max-width:620px){.range-pop{right:auto;left:0}}
