.user-menu{position:relative}.user-chip{display:flex;align-items:center;gap:10px;padding:5px 10px 5px 5px;border:1px solid var(--border);border-radius:8px;background:var(--bg-panel-alt);color:var(--text);font:inherit;cursor:pointer;transition:border-color .15s ease,background .15s ease}.user-chip:hover,.user-chip.open{border-color:var(--border-strong);background:var(--bg-elevated)}.user-avatar{border-radius:2px;flex:0 0 auto;image-rendering:pixelated;box-shadow:0 0 0 1px #0006}.user-identity{display:flex;flex-direction:column;align-items:flex-start;line-height:1.2;min-width:0}.user-name{font-size:13px;font-weight:600}.user-role{font-size:11px;color:var(--text-muted);letter-spacing:0;text-transform:none}.user-chevron{color:var(--text-dim);transition:transform .18s ease;flex:0 0 auto}.user-chevron.rotated{transform:rotate(180deg)}.user-dropdown{position:absolute;top:calc(100% + 8px);right:0;z-index:50;min-width:232px;padding:6px;background:var(--bg-elevated);border:1px solid var(--border-strong);border-radius:var(--radius);box-shadow:0 16px 40px #0000008c;animation:dropdown-in .14s ease}@keyframes dropdown-in{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.dropdown-header{display:flex;align-items:center;gap:11px;padding:10px 10px 12px;border-bottom:1px solid var(--border);margin-bottom:6px}.dropdown-role{display:flex;align-items:center;gap:5px;margin-top:3px;font-size:11px;color:var(--cyan)}.dropdown-item{display:flex;align-items:center;gap:10px;width:100%;padding:9px 10px;border:none;border-radius:var(--radius-sm);background:none;color:var(--text-muted);font:inherit;font-size:13px;text-align:left;cursor:pointer;transition:background .12s ease,color .12s ease}.dropdown-item:hover{background:var(--bg-panel-alt);color:var(--text)}.dropdown-item.danger:hover{background:#ef44441f;color:var(--red)}@media(max-width:600px){.user-identity,.user-chevron{display:none}.user-chip{padding:5px}}.login-screen{min-height:100vh;display:grid;place-items:center;padding:24px}.login-card{width:100%;max-width:380px;background:linear-gradient(180deg,var(--bg-panel-alt),var(--bg-panel));border:1px solid var(--border-strong);border-radius:14px;padding:28px;box-shadow:0 24px 70px #0000008c,var(--glow-cyan)}.login-brand{display:flex;align-items:center;gap:14px;margin-bottom:26px}.login-logo{width:46px;height:46px;flex:0 0 46px;font-size:18px}.login-title{font-size:20px;font-weight:800;letter-spacing:.06em}.login-sub{margin:2px 0 0;font-size:10px;letter-spacing:.24em;color:var(--cyan)}.login-note{margin:18px 0 0;font-size:11px;line-height:1.6;color:var(--text-dim);text-align:center}.status-badge{display:inline-flex;align-items:center;gap:8px;padding:5px 12px;border-radius:999px;border:1px solid;font-weight:700;font-size:11px;letter-spacing:.12em;white-space:nowrap}.status-lg{font-size:13px;padding:8px 16px}.status-dot{width:8px;height:8px;border-radius:50%;background:currentColor;box-shadow:0 0 8px currentColor}.status-dot.pulsing{animation:status-pulse 1.2s ease-in-out infinite}@keyframes status-pulse{0%,to{opacity:1}50%{opacity:.25}}.status-green{color:var(--green);border-color:#22c55e73;background:#22c55e1a}.status-red{color:var(--red);border-color:#ef444473;background:#ef44441a}.status-yellow{color:var(--yellow);border-color:#facc1573;background:#facc151a}.status-orange{color:var(--orange);border-color:#fb923c73;background:#fb923c1a}.status-blue{color:var(--blue-bright);border-color:#3b82f673;background:#3b82f61a}.status-grey{color:var(--text-muted);border-color:var(--border-strong);background:var(--bg-panel-alt)}.stat-card{position:relative;background:linear-gradient(180deg,var(--bg-panel-alt),var(--bg-panel));border:1px solid var(--border);border-radius:var(--radius);padding:16px;overflow:hidden;box-shadow:var(--shadow-panel)}.stat-card:before{content:"";position:absolute;inset:0 0 auto 0;height:2px;opacity:.85}.stat-card.accent-cyan:before{background:linear-gradient(90deg,var(--cyan),transparent)}.stat-card.accent-blue:before{background:linear-gradient(90deg,var(--blue-bright),transparent)}.stat-card.accent-green:before{background:linear-gradient(90deg,var(--green),transparent)}.stat-card.accent-yellow:before{background:linear-gradient(90deg,var(--yellow),transparent)}.stat-card.accent-red:before{background:linear-gradient(90deg,var(--red),transparent)}.stat-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:10px}.stat-icon{font-size:15px;opacity:.7}.stat-value{font-size:24px;font-weight:700;letter-spacing:-.02em;margin-bottom:10px;word-break:break-word}.stat-hint{margin-top:8px;font-size:11.5px;color:var(--text-muted)}.chart{width:100%}.chart-svg{width:100%;display:block}.chart-axis{display:flex;align-items:center;justify-content:space-between;margin-top:6px;font-size:11px}.chart-empty{display:grid;place-items:center;color:var(--text-dim);font-size:12px;border:1px dashed var(--border);border-radius:var(--radius-sm)}.dialog-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;display:grid;place-items:center;padding:20px;background:#02050ab8;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.dialog{width:100%;max-width:440px;background:linear-gradient(180deg,var(--bg-elevated),var(--bg-panel));border:1px solid var(--border-strong);border-radius:var(--radius);padding:22px;box-shadow:0 20px 60px #0009}.dialog-title{font-size:16px;letter-spacing:.06em;margin-bottom:10px}.dialog-title.tone-danger{color:var(--red)}.dialog-title.tone-warning{color:var(--yellow)}.dialog-title.tone-primary{color:var(--cyan)}.dialog-message{margin:0 0 12px;color:var(--text);font-size:14px}.dialog-detail{padding:10px 12px;border-radius:var(--radius-sm);background:var(--bg-input);border:1px solid var(--border);color:var(--text-muted);font-size:12px;margin-bottom:16px}.dialog-actions{display:flex;justify-content:flex-end;gap:10px}@media(max-width:480px){.dialog-actions{flex-direction:column-reverse}.dialog-actions .btn{width:100%}}.player-list{display:grid;gap:10px}.player-row{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;padding:12px 14px;background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius-sm);transition:border-color .15s ease}.player-row:hover{border-color:var(--border-strong)}.player-identity{display:flex;align-items:center;gap:12px;min-width:0}.player-avatar{width:38px;height:38px;flex:0 0 38px;display:grid;place-items:center;border-radius:6px;background:linear-gradient(140deg,var(--blue),var(--cyan));color:#04121a;font-weight:800;font-size:13px;letter-spacing:.02em}.player-name{font-weight:600;font-size:15px;word-break:break-all}.player-status{margin-top:4px}.player-actions{display:flex;gap:8px;flex-wrap:wrap}.player-actions .btn{padding:7px 14px;font-size:12px}@media(max-width:560px){.player-row{align-items:flex-start}.player-actions{width:100%}.player-actions .btn{flex:1}}.style-row{display:flex;gap:24px;flex-wrap:wrap;margin-bottom:16px}.color-options{display:flex;gap:8px}.color-swatch{width:30px;height:30px;border-radius:6px;border:2px solid var(--border-strong);cursor:pointer;padding:0;transition:transform .12s ease,border-color .12s ease}.color-swatch:hover{transform:scale(1.08)}.color-swatch.selected{border-color:var(--cyan);box-shadow:0 0 0 3px #22d3ee38}.style-toggle{display:flex;gap:8px}.style-toggle .btn{padding:6px 14px;font-size:12px}.style-toggle .btn.active{border-color:var(--cyan);color:var(--text);background:#22d3ee1a}.actionbar-preview{position:relative;padding:18px 14px 26px;margin-bottom:16px;border-radius:var(--radius-sm);border:1px solid var(--border);background:linear-gradient(180deg,#3a5f8a,#6b8fb5 55%,#4a7c3f 55%,#3d6634);text-align:center;font-family:var(--font-mono);font-size:13px;text-shadow:2px 2px 0 rgba(0,0,0,.55);overflow:hidden}.xp-bar{position:absolute;left:12%;right:12%;bottom:10px;height:6px;border-radius:2px;background:#1a1a1a;box-shadow:inset 0 0 0 1px #000}.xp-bar:after{content:"";position:absolute;top:1px;right:1px;bottom:1px;left:1px;width:62%;background:#7cfc00;border-radius:1px}.title-preview{padding:26px 14px;margin-bottom:16px;border-radius:var(--radius-sm);border:1px solid var(--border);background:linear-gradient(180deg,#2c4a6e,#5a7fa5 60%,#3d6634);text-align:center;font-family:var(--font-mono);text-shadow:3px 3px 0 rgba(0,0,0,.55)}.title-preview-main{font-size:26px;letter-spacing:.02em;line-height:1.2;word-break:break-word}.title-preview-sub{margin-top:8px;font-size:14px;color:#e8e8e8}.templates{margin-bottom:16px}.template-buttons{display:grid;gap:8px}.template-buttons .btn{justify-content:flex-start;font-size:12px;font-weight:500;padding:8px 12px}.server-actions{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px;margin-bottom:4px}.server-actions .btn{padding:14px 16px;font-size:13px;letter-spacing:.1em}.maintenance-state{display:flex;align-items:center;gap:12px;padding:14px 16px;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--bg-input);margin-bottom:16px}.maintenance-state.on{border-color:#facc1573;background:#facc1514}.maintenance-state.off{border-color:#22c55e73;background:#22c55e14}.maintenance-dot{font-size:18px;line-height:1}.maintenance-label{font-weight:600;font-size:15px}.maintenance-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:14px}.allowed-list{list-style:none;margin:12px 0 0;padding:0;display:grid;gap:8px}.allowed-list li{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:9px 12px;background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius-sm);font-size:13px}.allowed-list .btn{padding:5px 10px;font-size:10px}.console-card{display:flex;flex-direction:column;height:calc(100vh - var(--topbar-height) - 190px);min-height:380px}.console-tools{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.console-tools .btn{padding:5px 10px;font-size:11px}.console-tools .btn.active{border-color:var(--yellow);color:var(--yellow)}.console-output{flex:1;overflow-y:auto;padding:12px 14px;background:#05080d;font-family:var(--font-mono);font-size:12.5px;line-height:1.6}.console-line{display:flex;gap:8px;padding:1px 0;white-space:pre-wrap;word-break:break-word}.console-line:hover{background:#ffffff08}.console-time{color:var(--text-dim);flex:0 0 auto}.console-text{min-width:0}.level-info .console-text{color:#c8d6e5}.level-warn .console-text{color:var(--yellow)}.level-error .console-text{color:#ff7b7b}.level-debug .console-text{color:var(--text-dim)}.level-cmd{background:#2563eb24;border-left:2px solid var(--blue-bright);padding-left:8px;margin:3px 0}.level-cmd .console-text{color:var(--cyan);font-weight:600}.level-resp{border-left:2px solid var(--cyan-dim);padding-left:8px}.level-resp .console-text{color:#9fe8f5}.console-empty{color:var(--text-muted);text-align:center;padding:40px 20px;font-family:var(--font-ui);font-size:13px}.console-paused-note{padding:7px 14px;background:#facc151a;border-top:1px solid rgba(250,204,21,.3);color:var(--yellow);font-size:12px}.console-input{display:flex;align-items:center;gap:10px;padding:12px 14px;border-top:1px solid var(--border);background:var(--bg-panel)}.console-prompt{color:var(--cyan);font-size:16px;font-weight:700}.console-input input{flex:1;font-family:var(--font-mono);font-size:13px}.console-input .btn{padding:9px 14px;font-size:12px}@media(max-width:600px){.console-card{height:calc(100vh - var(--topbar-height) - 240px)}.console-input{flex-wrap:wrap}.console-input input{flex:1 1 100%;order:2}}.log-header-actions{display:flex;gap:8px;flex-wrap:wrap}.log-header-actions .btn{padding:8px 14px;font-size:12px}.log-filters{display:flex;gap:12px;flex-wrap:wrap;align-items:center}.log-search{position:relative;flex:1 1 190px;min-width:150px}.log-search input{width:100%}.log-search.with-icon input{padding-left:34px}.log-search-icon{position:absolute;left:11px;top:19px;color:var(--text-dim);pointer-events:none}.log-levels{display:flex;gap:6px}.level-chip{display:inline-flex;align-items:center;gap:6px;padding:7px 11px;border-radius:var(--radius-sm);border:1px solid var(--border-strong);background:var(--bg-input);color:var(--text-dim);font:inherit;font-size:11px;font-weight:700;letter-spacing:.06em;cursor:pointer;opacity:.5;transition:opacity .15s ease,border-color .15s ease}.level-chip.on{opacity:1}.level-chip.level-info.on{border-color:var(--cyan-dim);color:var(--cyan)}.level-chip.level-warn.on{border-color:#facc1580;color:var(--yellow)}.level-chip.level-error.on{border-color:#ef444480;color:var(--red)}.level-count{font-size:10px;padding:1px 5px;border-radius:999px;background:#ffffff12;color:var(--text-muted)}.log-toggles{display:flex;gap:8px}.log-toggles .btn{padding:7px 11px;font-size:11px}.log-toggles .btn.active{border-color:var(--cyan);color:var(--cyan);background:#22d3ee14}.log-output{height:calc(100vh - var(--topbar-height) - 290px);min-height:320px;overflow-y:auto;padding:10px 14px;background:#05080d;border-top:1px solid var(--border);border-radius:0 0 var(--radius) var(--radius);font-family:var(--font-mono);font-size:12.5px;line-height:1.6}.log-line{display:flex;gap:10px;padding:2px 0;white-space:pre-wrap;word-break:break-word}.log-line:hover{background:#ffffff08}.log-time{color:var(--text-dim);flex:0 0 auto}.log-level{flex:0 0 46px;font-size:10px;font-weight:700;letter-spacing:.04em;padding-top:2px}.badge-info{color:var(--cyan-dim)}.badge-warn{color:var(--yellow)}.badge-error{color:var(--red)}.badge-debug{color:var(--text-dim)}.log-message{min-width:0;color:#c8d6e5}.log-line.level-warn .log-message{color:#fde68a}.log-line.level-error .log-message{color:#ff9b9b}.log-match{background:#22d3ee59;color:var(--text);border-radius:2px;padding:0 1px}@media(max-width:700px){.log-filters{flex-direction:column;align-items:stretch}.log-search,.log-levels,.log-toggles{flex:0 0 auto}.log-output{height:calc(100vh - var(--topbar-height) - 420px)}}.tabs{display:flex;gap:4px;margin-bottom:18px;border-bottom:1px solid var(--border);overflow-x:auto}.tab{padding:10px 18px;background:none;border:none;border-bottom:2px solid transparent;color:var(--text-muted);font:inherit;font-weight:600;font-size:13px;cursor:pointer;white-space:nowrap;transition:color .15s ease,border-color .15s ease}.tab:hover{color:var(--text)}.tab.active{color:var(--cyan);border-bottom-color:var(--cyan)}.settings-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:18px;margin-bottom:20px}.settings-field{margin-bottom:0;padding:12px;border-radius:var(--radius-sm);border:1px solid transparent;transition:border-color .15s ease,background .15s ease}.settings-field.dirty{border-color:#facc1566;background:#facc150f}.settings-field label{display:flex;align-items:center;gap:8px}.restart-tag{font-size:8.5px;letter-spacing:.08em;padding:2px 6px;border-radius:999px;background:#fb923c26;border:1px solid rgba(251,146,60,.35);color:var(--orange);text-transform:uppercase}.field-meta{margin-top:6px;font-size:11px;color:var(--text-dim)}.field-warning{margin-top:6px;font-size:11px;color:var(--yellow);line-height:1.5}.settings-actions{display:flex;justify-content:flex-end;gap:10px;margin-bottom:14px;flex-wrap:wrap}.nowrap{white-space:nowrap}table.data select{padding:5px 8px;font-size:12px}.checks{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:12px}.check{display:flex;align-items:flex-start;gap:10px;padding:11px 13px;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--bg-input);min-width:0}.check.ok{border-color:#22c55e4d}.check.ok svg{color:var(--green);flex:0 0 auto;margin-top:2px}.check.fail{border-color:#ef444466;background:#ef44440f}.check.fail svg{color:var(--red);flex:0 0 auto;margin-top:2px}.check-label{font-size:12.5px;font-weight:600}.check-target{font-size:11px;color:var(--text-dim);word-break:break-all;margin-top:2px}.check-detail{font-size:11px;color:var(--red);margin-top:3px}:root{--bg-base: #06090f;--bg-panel: #0d131c;--bg-panel-alt: #121a26;--bg-elevated: #172130;--bg-input: #0a1119;--border: #1e2b3d;--border-strong: #2b3d55;--text: #e8f0fa;--text-muted: #8ea3bd;--text-dim: #5c718c;--blue: #2563eb;--blue-bright: #3b82f6;--cyan: #22d3ee;--cyan-dim: #0e7490;--green: #22c55e;--green-dim: #14532d;--yellow: #facc15;--yellow-dim: #422006;--orange: #fb923c;--red: #ef4444;--red-dim: #450a0a;--glow-cyan: 0 0 0 1px rgba(34, 211, 238, .35), 0 0 18px rgba(34, 211, 238, .12);--shadow-panel: 0 1px 2px rgba(0, 0, 0, .5), 0 8px 24px rgba(0, 0, 0, .35);--radius: 10px;--radius-sm: 6px;--sidebar-width: 232px;--topbar-height: 60px;--font-ui: "Inter", "Segoe UI", system-ui, -apple-system, sans-serif;--font-mono: "JetBrains Mono", "SF Mono", "Cascadia Code", Consolas, monospace}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:radial-gradient(1200px 600px at 15% -10%,rgba(37,99,235,.12),transparent 60%),radial-gradient(900px 500px at 110% 10%,rgba(34,211,238,.08),transparent 55%),var(--bg-base);color:var(--text);font-family:var(--font-ui);font-size:14px;line-height:1.5;-webkit-font-smoothing:antialiased}h1,h2,h3,h4{margin:0;font-weight:600;letter-spacing:-.01em}a{color:var(--cyan);text-decoration:none}.mono{font-family:var(--font-mono);font-variant-numeric:tabular-nums}.muted{color:var(--text-muted)}.dim{color:var(--text-dim)}.eyebrow{font-size:11px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--text-dim)}.card{background:linear-gradient(180deg,var(--bg-panel-alt),var(--bg-panel));border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-panel)}.card-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 18px;border-bottom:1px solid var(--border)}.card-body{padding:18px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:9px 16px;border-radius:var(--radius-sm);border:1px solid var(--border-strong);background:var(--bg-elevated);color:var(--text);font:inherit;font-weight:600;letter-spacing:.04em;cursor:pointer;transition:transform .08s ease,filter .15s ease,border-color .15s ease}.btn:hover:not(:disabled){filter:brightness(1.18);border-color:var(--cyan-dim)}.btn:active:not(:disabled){transform:translateY(1px)}.btn:disabled{opacity:.45;cursor:not-allowed}.btn-primary{background:linear-gradient(180deg,var(--blue-bright),var(--blue));border-color:#1d4ed8;color:#fff}.btn-success{background:linear-gradient(180deg,#16a34a,#15803d);border-color:#166534;color:#fff}.btn-warning{background:linear-gradient(180deg,#eab308,#ca8a04);border-color:#a16207;color:#1a1200}.btn-danger{background:linear-gradient(180deg,#dc2626,#b91c1c);border-color:#991b1b;color:#fff}.btn-ghost{background:transparent;border-color:var(--border);color:var(--text-muted)}.btn-block{width:100%}.field{display:flex;flex-direction:column;gap:6px;margin-bottom:14px}.field label{font-size:12px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted)}input[type=text],input[type=password],input[type=number],select,textarea{width:100%;padding:10px 12px;background:var(--bg-input);border:1px solid var(--border-strong);border-radius:var(--radius-sm);color:var(--text);font:inherit;outline:none;transition:border-color .15s ease,box-shadow .15s ease}input:focus,select:focus,textarea:focus{border-color:var(--cyan);box-shadow:0 0 0 3px #22d3ee24}.alert{padding:10px 14px;border-radius:var(--radius-sm);border:1px solid;font-size:13px}.alert-error{background:#ef44441a;border-color:#ef444466;color:#fca5a5}.alert-warning{background:#facc1514;border-color:#facc1559;color:#fde68a}.alert-info{background:#22d3ee14;border-color:#22d3ee4d;color:#a5f3fc}.meter{height:8px;border-radius:999px;background:var(--bg-input);border:1px solid var(--border);overflow:hidden}.meter-fill{height:100%;border-radius:999px;transition:width .5s ease}.meter-fill.ok{background:linear-gradient(90deg,var(--cyan),var(--green))}.meter-fill.warn{background:linear-gradient(90deg,var(--yellow),var(--orange))}.meter-fill.danger{background:linear-gradient(90deg,var(--orange),var(--red))}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:var(--bg-base)}::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:999px;border:2px solid var(--bg-base)}::-webkit-scrollbar-thumb:hover{background:var(--cyan-dim)}.app-shell{display:grid;grid-template-columns:var(--sidebar-width) 1fr;grid-template-rows:var(--topbar-height) 1fr;grid-template-areas:"brand topbar" "sidebar content";height:100vh}.brand{grid-area:brand;display:flex;align-items:center;gap:12px;padding:0 16px;background:var(--bg-panel);border-right:1px solid var(--border);border-bottom:1px solid var(--border)}.brand-logo{width:36px;height:36px;flex:0 0 36px;display:grid;place-items:center;border-radius:8px;background:linear-gradient(140deg,var(--blue),var(--cyan));color:#04121a;font-weight:800;font-size:15px;letter-spacing:-.04em;box-shadow:var(--glow-cyan);overflow:hidden}.brand-logo img{width:100%;height:100%;object-fit:contain}.brand-text{display:flex;flex-direction:column;line-height:1.15;min-width:0}.brand-title{font-size:14px;font-weight:800;letter-spacing:.04em}.brand-sub{font-size:10px;letter-spacing:.18em;color:var(--text-dim)}.topbar{grid-area:topbar;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:0 20px;background:var(--bg-panel);border-bottom:1px solid var(--border)}.topbar-title{font-size:15px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;background:linear-gradient(90deg,var(--text),var(--cyan));-webkit-background-clip:text;background-clip:text;color:transparent;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.topbar-right{display:flex;align-items:center;gap:14px}.menu-toggle{display:none;background:none;border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);padding:6px 10px;cursor:pointer}.sidebar{grid-area:sidebar;background:var(--bg-panel);border-right:1px solid var(--border);padding:12px 10px;overflow-y:auto;display:flex;flex-direction:column;gap:2px}.nav-item{display:flex;align-items:center;gap:10px;padding:9px 12px;border-radius:var(--radius-sm);color:var(--text-muted);font-size:13px;font-weight:500;border-left:2px solid transparent;transition:background .15s ease,color .15s ease}.nav-item:hover{background:var(--bg-panel-alt);color:var(--text)}.nav-item.active{background:linear-gradient(90deg,rgba(37,99,235,.22),transparent);border-left-color:var(--cyan);color:var(--text)}.nav-icon{width:17px;height:17px;flex:0 0 17px;opacity:.85}.nav-item.active .nav-icon{color:var(--cyan);opacity:1}.nav-badge{margin-left:auto;font-size:9px;letter-spacing:.08em;padding:2px 6px;border-radius:999px;background:var(--bg-elevated);border:1px solid var(--border-strong);color:var(--text-dim)}.sidebar-footer{margin-top:auto;padding:12px;font-size:10px;color:var(--text-dim);letter-spacing:.08em}.content{grid-area:content;overflow-y:auto;padding:22px}.page-header{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:18px}.page-title{font-size:22px;font-weight:700}.page-subtitle{color:var(--text-muted);font-size:13px;margin-top:2px}.grid{display:grid;gap:16px}.grid-stats{grid-template-columns:repeat(auto-fill,minmax(228px,1fr))}.grid-2{grid-template-columns:repeat(auto-fit,minmax(320px,1fr))}.sidebar-backdrop{display:none}@media(max-width:900px){.app-shell{grid-template-columns:1fr;grid-template-areas:"topbar" "content"}.brand{display:none}.menu-toggle{display:block}.sidebar{position:fixed;top:0;left:0;bottom:0;width:var(--sidebar-width);z-index:40;transform:translate(-100%);transition:transform .2s ease}.sidebar.open{transform:translate(0)}.sidebar-backdrop.open{display:block;position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;z-index:30}.content{padding:16px}}.info-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:16px 22px;margin:0}.info-item{min-width:0}.info-item dd{margin:4px 0 0;font-size:14px;color:var(--text);word-break:break-word}.info-wide{grid-column:1 / -1}.loading-screen{min-height:100vh;display:grid;place-items:center;color:var(--text-muted);letter-spacing:.2em;font-size:12px}.loading-screen span{animation:loading-fade 1.4s ease-in-out infinite}@keyframes loading-fade{0%,to{opacity:.35}50%{opacity:1}}.table-wrap{overflow-x:auto}table.data{width:100%;border-collapse:collapse;font-size:13px}table.data th{text-align:left;font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--text-dim);padding:0 12px 10px;border-bottom:1px solid var(--border);white-space:nowrap}table.data td{padding:11px 12px;border-bottom:1px solid var(--border);color:var(--text)}table.data tr:last-child td{border-bottom:none}.code-block{font-family:var(--font-mono);font-size:12px;background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius-sm);padding:12px 14px;color:var(--text-muted);overflow-x:auto;white-space:pre;margin:0}
