/* remoteCP 10 — clean product UI
   One design system for light + dark, no sidebar, no neon, no template clutter. */
:root{
  --font:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  --mono:"SFMono-Regular",Consolas,"Liberation Mono",Menlo,monospace;
  --accent:#2563eb;--accent-hover:#1d4ed8;--accent-soft:rgba(37,99,235,.09);
  --green:#179c68;--green-soft:rgba(23,156,104,.10);
  --amber:#b7791f;--amber-soft:rgba(183,121,31,.10);
  --red:#dc4c4c;--red-soft:rgba(220,76,76,.09);
  --r-xs:6px;--r-sm:8px;--r-md:10px;--r-lg:14px;
  --topbar:60px;
}
html[data-theme="light"]{
  --bg:#f5f6f8;--bg-subtle:#f0f2f5;--surface:#ffffff;--surface-2:#fafbfc;--surface-3:#f6f7f9;
  --border:#e4e7ec;--border-strong:#d5dae2;--text:#171a21;--text-2:#414854;--muted:#737c8b;--faint:#9aa2ad;
  --shadow:0 1px 2px rgba(16,24,40,.025),0 8px 22px rgba(16,24,40,.035);
  --shadow-float:0 22px 60px rgba(16,24,40,.14);--terminal:#11151b;--terminal-text:#d5d9e0;
  color-scheme:light;
}
html[data-theme="dark"]{
  --bg:#101216;--bg-subtle:#0d0f13;--surface:#17191e;--surface-2:#1b1e24;--surface-3:#20232a;
  --border:#292d35;--border-strong:#353b45;--text:#f2f4f7;--text-2:#c8ced7;--muted:#919aa7;--faint:#66707d;
  --shadow:0 1px 2px rgba(0,0,0,.18),0 10px 26px rgba(0,0,0,.16);
  --shadow-float:0 24px 70px rgba(0,0,0,.46);--terminal:#0c0e12;--terminal-text:#cbd1da;
  color-scheme:dark;
}
*{box-sizing:border-box}
html{min-height:100%;background:var(--bg)}
body{margin:0;min-height:100vh;background:var(--bg);color:var(--text);font:13px/1.45 var(--font);-webkit-font-smoothing:antialiased}
button,input,select,textarea{font:inherit}button{color:inherit}a{color:inherit}.hidden{display:none!important}.svg-sprite{position:absolute;width:0;height:0;overflow:hidden}.icon{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex:0 0 auto}
::selection{background:rgba(37,99,235,.18)}
::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border-strong);border:3px solid transparent;background-clip:padding-box;border-radius:99px}

/* typography */
h1,h2,h3,p{margin:0}.overline,.eyebrow{font-size:10px;line-height:1.2;font-weight:750;letter-spacing:.105em;text-transform:uppercase;color:var(--faint)}
h1{font-size:28px;line-height:1.12;letter-spacing:-.035em;font-weight:740}h2{font-size:17px;line-height:1.25;letter-spacing:-.015em;font-weight:690}h3{font-size:15px;line-height:1.3;font-weight:680}.subtitle,.muted{color:var(--muted)}.subtitle{margin-top:5px;font-size:12px}.text-button{border:0;background:none;padding:0;color:var(--accent);cursor:pointer;font-weight:650;font-size:11px}.text-button:hover{text-decoration:underline}

/* controls */
.button,.icon-button,.tiny-button,.back-link,.topnav-link,.topbar-brand,.favorite-btn,.quick-action{appearance:none;border:0;cursor:pointer}
.button{height:36px;display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:0 12px;border:1px solid var(--border-strong);border-radius:var(--r-sm);background:var(--surface);color:var(--text-2);font-size:11px;font-weight:660;white-space:nowrap;transition:background .14s,border-color .14s,color .14s,box-shadow .14s}.button:hover:not(:disabled){background:var(--surface-3);border-color:var(--faint);color:var(--text)}.button:focus-visible,.icon-button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,.quick-action:focus-visible{outline:3px solid rgba(37,99,235,.16);outline-offset:1px}.button.primary{background:var(--accent);border-color:var(--accent);color:#fff}.button.primary:hover:not(:disabled){background:var(--accent-hover);border-color:var(--accent-hover)}.button.ghost{background:transparent;border-color:var(--border);color:var(--text-2)}.button.warning{background:transparent;border-color:color-mix(in srgb,var(--amber) 34%,var(--border));color:var(--amber)}.button.danger{background:transparent;border-color:color-mix(in srgb,var(--red) 32%,var(--border));color:var(--red)}.button.danger:hover:not(:disabled){background:var(--red-soft);border-color:var(--red)}.button:disabled{opacity:.38;cursor:not-allowed}.button.wide{width:100%}
.icon-button{width:36px;height:36px;display:grid;place-items:center;border:1px solid var(--border);border-radius:var(--r-sm);background:transparent;color:var(--muted)}.icon-button:hover{background:var(--surface-3);border-color:var(--border-strong);color:var(--text)}
.tiny-button{height:28px;padding:0 9px;border:1px solid var(--border);border-radius:6px;background:transparent;color:var(--muted);font-size:10px;font-weight:650}.tiny-button:hover{background:var(--surface-3);color:var(--text)}.tiny-button.danger{color:var(--red);border-color:color-mix(in srgb,var(--red) 28%,var(--border))}
input,select,textarea{width:100%;border:1px solid var(--border-strong);border-radius:var(--r-sm);background:var(--surface);color:var(--text);box-shadow:none;outline:none}input,select{height:38px;padding:0 11px}textarea{padding:10px 11px;resize:vertical;font-family:var(--mono);font-size:12px}input::placeholder,textarea::placeholder{color:var(--faint)}input:focus,select:focus,textarea:focus{border-color:var(--accent)}
.field{display:flex;flex-direction:column;gap:6px;min-width:0}.field>span{font-size:11px;font-weight:650;color:var(--text-2)}.field em{font-style:normal;font-weight:500;color:var(--faint)}
.searchbox{height:38px;min-width:220px;display:flex;align-items:center;gap:8px;padding:0 10px;border:1px solid var(--border);border-radius:var(--r-sm);background:var(--surface)}.searchbox .icon{color:var(--faint)}.searchbox input{height:auto;border:0;padding:0;background:transparent}.searchbox input:focus{outline:0}.wide-search{min-width:280px}
.pill,.tag,.status-badge,.tab-count{display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--border);border-radius:999px;background:var(--surface-3);color:var(--muted);font-size:9px;font-weight:720;line-height:1;padding:4px 7px}.status-badge.online{background:var(--green-soft);border-color:color-mix(in srgb,var(--green) 25%,var(--border));color:var(--green)}.status-badge.offline{background:var(--red-soft);border-color:color-mix(in srgb,var(--red) 22%,var(--border));color:var(--red)}

/* app shell */
.app{min-height:100vh}.global-topbar{position:sticky;top:0;z-index:60;height:var(--topbar);display:flex;align-items:center;gap:8px;padding:0 24px;border-bottom:1px solid var(--border);background:color-mix(in srgb,var(--surface) 93%,transparent);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}
.topbar-brand{height:40px;display:flex;align-items:center;gap:9px;padding:0 6px 0 0;background:none;border-radius:8px;text-align:left}.brand-mark,.mini-logo{width:30px;height:30px;display:grid;place-items:center;border-radius:8px;background:var(--text);color:var(--surface);font-weight:800;font-size:13px}.topbar-brand strong{display:block;font-size:12px;line-height:1.1}.topbar-brand small{display:block;margin-top:3px;color:var(--faint);font-size:8px;letter-spacing:.08em;text-transform:uppercase}.topnav{display:flex;align-items:center;gap:2px;margin-left:16px;padding-left:16px;border-left:1px solid var(--border)}.topnav-link{height:34px;display:flex;align-items:center;gap:7px;padding:0 10px;border-radius:7px;background:transparent;color:var(--muted);font-size:11px;font-weight:640}.topnav-link:hover,.topnav-link.active{background:var(--surface-3);color:var(--text)}.topnav-link .icon{width:14px;height:14px}.topbar-spacer{flex:1}.server-switcher-wrap{min-width:210px;height:36px;display:flex;align-items:center;gap:7px;padding-left:10px;border:1px solid var(--border);border-radius:var(--r-sm);background:var(--surface)}.server-switcher-wrap select{height:34px;border:0;padding:0 28px 0 0;background:transparent;font-size:11px}.server-mini-dot{width:7px;height:7px;border-radius:50%;background:var(--faint);flex:0 0 auto}.server-mini-dot.online{background:var(--green)}.server-mini-dot.offline{background:var(--faint)}.top-add-server{height:36px}.theme-control{display:flex;align-items:center;gap:2px;padding:3px;border:1px solid var(--border);border-radius:8px;background:var(--surface-3)}.theme-control button,.login-theme button{width:30px;height:28px;border:0;border-radius:6px;background:transparent;color:var(--muted);font-size:13px;cursor:pointer}.theme-control button:hover,.theme-control button.active,.login-theme button:hover,.login-theme button.active{background:var(--surface);color:var(--text);box-shadow:0 1px 2px rgba(0,0,0,.08)}.top-user{height:36px;display:flex;align-items:center;gap:8px;padding-left:8px;border-left:1px solid var(--border);color:var(--text-2);font-size:11px}.avatar{width:28px;height:28px;display:grid;place-items:center;border-radius:50%;background:var(--surface-3);border:1px solid var(--border);font-size:10px;font-weight:750}.logout{text-decoration:none;color:var(--faint);font-size:14px}.logout:hover{color:var(--text)}
.workspace{width:min(1540px,100%);margin:0 auto;padding:30px 32px 56px}.view{display:none}.view.active{display:block}

/* Fleet */
.page-header{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:20px}.page-header h1{margin-top:5px}.header-actions,.section-tools{display:flex;align-items:center;gap:8px}.fleet-metrics{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface);overflow:hidden;margin-bottom:14px}.fleet-metrics article{min-height:72px;display:flex;align-items:center;gap:11px;padding:13px 16px}.fleet-metrics article+article{border-left:1px solid var(--border)}.fleet-metrics .metric-icon{width:28px;height:28px;display:grid;place-items:center;border-radius:8px;background:var(--surface-3);color:var(--muted);font-size:10px}.fleet-metrics .metric-icon.online{background:var(--green-soft);color:var(--green)}.fleet-metrics strong{display:block;font-size:18px;line-height:1.1;letter-spacing:-.02em}.fleet-metrics article div span{display:block;margin-top:4px;color:var(--muted);font-size:10px}.fleet-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:8px 0 10px}.segmented{display:flex;gap:2px;padding:3px;border:1px solid var(--border);border-radius:8px;background:var(--surface)}.segmented button{height:28px;padding:0 10px;border:0;border-radius:6px;background:transparent;color:var(--muted);font-size:10px;font-weight:650;cursor:pointer}.segmented button:hover,.segmented button.active{background:var(--surface-3);color:var(--text)}.last-sync{color:var(--faint);font-size:10px}.last-sync span{color:var(--muted)}
.server-grid{display:flex;flex-direction:column;border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface);overflow:hidden}.server-card{position:relative;display:grid;grid-template-columns:minmax(250px,1.55fr) minmax(180px,1fr) 110px 130px auto;align-items:center;gap:18px;min-height:82px;padding:14px 16px;border:0;border-bottom:1px solid var(--border);background:var(--surface);cursor:pointer;transition:background .13s}.server-card:last-child{border-bottom:0}.server-card:hover{background:var(--surface-2)}.server-main{min-width:0;display:flex;align-items:center;gap:11px}.server-state-dot{width:9px;height:9px;border-radius:50%;background:var(--faint);box-shadow:0 0 0 4px color-mix(in srgb,var(--faint) 12%,transparent);flex:0 0 auto}.server-state-dot.online{background:var(--green);box-shadow:0 0 0 4px var(--green-soft)}.server-main h3{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:14px}.server-main p{margin-top:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--muted);font-size:10px}.server-cell{min-width:0}.server-cell>span{display:block;margin-bottom:4px;color:var(--faint);font-size:9px;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.server-cell>strong{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--text-2);font-size:11px;font-weight:630}.server-row-actions{display:flex;align-items:center;gap:6px;justify-content:flex-end}.favorite-btn{width:32px;height:32px;border:1px solid transparent;border-radius:7px;background:transparent;color:var(--faint);font-size:14px}.favorite-btn:hover{background:var(--surface-3);color:var(--text)}.favorite-btn.active{color:#d59618}.open-server-button{height:32px;padding:0 10px;border:1px solid var(--border);border-radius:7px;background:transparent;color:var(--text-2);font-size:10px;font-weight:650;cursor:pointer}.open-server-button:hover{background:var(--surface-3);border-color:var(--border-strong)}
.empty-state,.empty-state-small{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:var(--muted)}.empty-state{min-height:360px;border:1px dashed var(--border-strong);border-radius:var(--r-md);background:var(--surface)}.empty-state h2{margin:12px 0 7px;color:var(--text)}.empty-state p{max-width:520px;margin-bottom:18px}.empty-glyph{width:44px;height:44px;display:grid;place-items:center;border-radius:12px;background:var(--surface-3);color:var(--muted)}.empty-inline{padding:30px 16px;text-align:center;color:var(--faint);font-size:11px}

/* Server command header */
.server-topbar{position:sticky;top:var(--topbar);z-index:30;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:16px;margin:-30px -32px 0;padding:17px 32px 14px;border-bottom:1px solid var(--border);background:color-mix(in srgb,var(--bg) 94%,transparent);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}.back-link{height:32px;padding:0 9px;border-radius:7px;background:transparent;color:var(--muted);font-size:10px;font-weight:650}.back-link:hover{background:var(--surface-3);color:var(--text)}.server-title{min-width:0;display:flex;align-items:center;gap:10px}.live-dot{width:9px;height:9px;border-radius:50%;background:var(--faint);box-shadow:0 0 0 4px color-mix(in srgb,var(--faint) 10%,transparent);flex:0 0 auto}.live-dot.online{background:var(--green);box-shadow:0 0 0 4px var(--green-soft)}.live-dot.offline{background:var(--red);box-shadow:0 0 0 4px var(--red-soft)}.title-line{display:flex;align-items:center;gap:9px;min-width:0}.server-title h1{font-size:21px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.server-title p{margin-top:3px;color:var(--muted);font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.server-actions{display:flex;align-items:center;gap:6px}.live-control.active{color:var(--green);border-color:color-mix(in srgb,var(--green) 28%,var(--border))}#start-server:not(:disabled){background:var(--green);border-color:var(--green);color:#fff}#restart-node{color:var(--amber)}#stop-server{color:var(--red)}

/* grouped server nav */
.server-tabs{position:sticky;top:calc(var(--topbar) + 76px);z-index:29;display:flex;align-items:center;gap:9px;margin:0 -32px 18px;padding:8px 32px;border-bottom:1px solid var(--border);background:color-mix(in srgb,var(--bg) 96%,transparent);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);overflow-x:auto;scrollbar-width:none}.server-tabs::-webkit-scrollbar{display:none}.tab-group{display:flex;align-items:center;gap:2px;padding:2px;border:1px solid var(--border);border-radius:8px;background:var(--surface)}.tab-group-label{padding:0 7px;color:var(--faint);font-size:8px;font-weight:750;letter-spacing:.09em;text-transform:uppercase;white-space:nowrap}.server-tabs button{height:30px;display:flex;align-items:center;gap:6px;padding:0 9px;border:0;border-radius:6px;background:transparent;color:var(--muted);font-size:10px;font-weight:650;white-space:nowrap;cursor:pointer}.server-tabs button .icon{width:13px;height:13px}.server-tabs button:hover{background:var(--surface-3);color:var(--text)}.server-tabs button.active{background:var(--text);color:var(--surface)}.server-tabs button.active .tab-count{background:color-mix(in srgb,var(--surface) 14%,transparent);border-color:transparent;color:inherit}.tab-count{min-width:17px;padding:3px 5px;font-size:8px}
.tab-page{display:none}.tab-page.active{display:block}

/* Shared content */
.surface,.table-surface{border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface);box-shadow:none}.surface{padding:16px}.surface-head{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:14px}.surface-head h2{margin-top:4px}.surface-head>.icon{color:var(--faint)}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin:5px 0 14px}.section-heading h2{margin-top:5px;font-size:21px}.section-heading p:not(.overline){max-width:650px;margin-top:5px;color:var(--muted);font-size:11px}.stack{display:flex;flex-direction:column;gap:10px}
.overview-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-bottom:10px}.overview-kpis article{min-height:76px;padding:13px 14px;border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface)}.overview-kpis article>span{display:block;color:var(--faint);font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.06em}.overview-kpis strong{display:block;margin-top:7px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:17px;letter-spacing:-.02em}.overview-kpis small{display:block;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--muted);font-size:9px}.node-health-strip{display:grid;grid-template-columns:repeat(4,1fr);margin-bottom:10px;border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface-2);overflow:hidden}.node-health-strip>div{padding:10px 13px}.node-health-strip>div+div{border-left:1px solid var(--border)}.node-health-strip span{display:block;color:var(--faint);font-size:8px;text-transform:uppercase;font-weight:700;letter-spacing:.06em}.node-health-strip strong{display:block;margin-top:4px;font-size:11px}.overview-layout{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(310px,.75fr);gap:10px}.now-playing{min-height:265px}.map-stage{display:grid;grid-template-columns:130px 1fr;gap:16px;align-items:stretch}.map-art{position:relative;min-height:110px;display:grid;place-items:center;border:1px solid var(--border);border-radius:9px;background:var(--surface-3);overflow:hidden}.map-art>span{font-size:30px;font-weight:820;letter-spacing:-.05em;color:var(--text-2)}.grid-lines{position:absolute;inset:0;opacity:.15;background-image:linear-gradient(var(--border) 1px,transparent 1px),linear-gradient(90deg,var(--border) 1px,transparent 1px);background-size:18px 18px}.map-data{display:grid;grid-template-columns:1fr;gap:8px}.map-data>div{padding:10px 12px;border:1px solid var(--border);border-radius:8px;background:var(--surface-2)}.map-data span{display:block;color:var(--faint);font-size:8px;text-transform:uppercase;letter-spacing:.06em}.map-data strong{display:block;margin-top:5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:11px}.quick-row{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin-top:12px}.quick-action{min-height:54px;display:flex;align-items:center;gap:9px;padding:9px 10px;border:1px solid var(--border);border-radius:8px;background:transparent;color:var(--text-2);text-align:left}.quick-action:hover:not(:disabled){background:var(--surface-3);border-color:var(--border-strong)}.quick-action:disabled{opacity:.38;cursor:not-allowed}.quick-action .icon{color:var(--muted)}.quick-action span{min-width:0}.quick-action strong{display:block;font-size:10px}.quick-action small{display:block;margin-top:2px;color:var(--faint);font-size:8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.chat-compose{display:flex;gap:7px}.chat-compose input{flex:1}.compact-list,.ranking-list{min-height:96px}.compact-player,.ranking-row{display:flex;align-items:center;gap:10px;padding:9px 0;border-bottom:1px solid var(--border)}.compact-player:last-child,.ranking-row:last-child{border-bottom:0}.player-avatar{width:28px;height:28px;display:grid;place-items:center;border-radius:50%;background:var(--surface-3);color:var(--text-2);font-size:9px;font-weight:750}.table-cell-main{min-width:0;flex:1}.table-cell-main strong{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:11px}.table-cell-main small{display:block;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--faint);font-size:8px}.player-state,.rank-num,.rank-time{color:var(--muted);font-size:9px}.rank-time{margin-left:auto;font-family:var(--mono);color:var(--text-2)}

/* Tables */
.table-surface{overflow:hidden}.data-table{width:100%;overflow-x:auto}.table-row{min-height:52px;display:grid;align-items:center;gap:12px;padding:9px 14px;border-bottom:1px solid var(--border)}.data-table>.table-row:last-child,#players-list>.table-row:last-child,#maps-list>.table-row:last-child,#bans-list>.table-row:last-child,#blacklist-list>.table-row:last-child,#guest-list>.table-row:last-child{border-bottom:0}.table-row:hover:not(.table-head){background:var(--surface-2)}.table-head{min-height:36px;background:var(--surface-2);color:var(--faint);font-size:8px;font-weight:750;letter-spacing:.06em;text-transform:uppercase}.data-table:not(.map-table):not(.ban-table):not(.guest-table) .table-row{grid-template-columns:minmax(190px,1.35fr) minmax(150px,1fr) 100px 100px auto}.map-table .table-row{grid-template-columns:minmax(220px,1.4fr) minmax(120px,.7fr) 90px minmax(160px,1fr) auto}.ban-table .table-row{grid-template-columns:minmax(120px,1fr) 90px 120px auto}.guest-table .table-row{grid-template-columns:1fr auto}.row-actions{display:flex;justify-content:flex-end;gap:5px;flex-wrap:wrap}.cell-muted{color:var(--muted);font-size:10px}

/* Maps / mode / moderation */
.map-context{display:grid;grid-template-columns:1fr 1fr auto;gap:8px;margin:5px 0 14px}.map-context>div{padding:10px 12px;border:1px solid var(--border);border-radius:8px;background:var(--surface)}.map-context span{display:block;color:var(--faint);font-size:8px;text-transform:uppercase;font-weight:700}.map-context strong{display:block;margin-top:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:11px}.inline-form{display:flex;align-items:center;gap:7px;margin-bottom:12px}.inline-form input{flex:1}.mode-editor{padding:0;overflow:hidden}.mode-editor-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 14px;border-bottom:1px solid var(--border)}.mode-editor-head strong{display:block;font-size:11px}.mode-editor-head span{display:block;margin-top:2px;color:var(--faint);font-size:9px}.mode-settings-list{display:grid;grid-template-columns:1fr 1fr}.mode-setting-row{display:grid;grid-template-columns:minmax(180px,1fr) minmax(140px,.8fr);gap:14px;align-items:center;padding:11px 14px;border-bottom:1px solid var(--border)}.mode-setting-row:nth-child(odd){border-right:1px solid var(--border)}.mode-setting-row strong{font-size:10px}.mode-setting-row span{color:var(--faint);font-size:8px}.mode-input{height:34px}.mode-switch{display:flex;justify-content:flex-end}.moderation-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.table-title{padding:14px 14px 0}.table-title+.data-table{margin-top:10px}.list-head-actions{display:flex;align-items:center;gap:6px}.access-toolbar{display:flex;justify-content:flex-end;margin-bottom:10px}.access-toolbar .inline-form{width:min(520px,100%);margin:0}

/* Chat */
.chat-layout{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(260px,.45fr);gap:10px}.chat-console{padding:0;overflow:hidden}.chat-console .surface-head{padding:14px 15px 0}.chat-history{height:390px;overflow:auto;padding:8px 15px 12px;font-family:var(--mono);font-size:11px}.chat-line{display:flex;gap:8px;padding:6px 0;border-bottom:1px solid var(--border);color:var(--text-2)}.chat-prompt{color:var(--accent)}.chat-console .chat-compose{padding:12px 15px;border-top:1px solid var(--border);background:var(--surface-2)}.command-help p:not(.overline){margin:8px 0 18px;color:var(--muted);font-size:11px}.help-kv,.summary-line{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:9px 0;border-bottom:1px solid var(--border)}.help-kv:last-child,.summary-line:last-child{border-bottom:0}.help-kv span,.summary-line span{color:var(--muted);font-size:9px}.help-kv strong,.summary-line strong{font-size:10px;text-align:right}

/* Controller */
.controller-layout{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(330px,.9fr);gap:10px}.controller-hero{display:flex;flex-direction:column;justify-content:space-between;min-height:205px}.controller-brand{display:flex;align-items:flex-start;gap:13px}.controller-logo{width:42px;height:42px;display:grid;place-items:center;border-radius:10px;background:var(--text);color:var(--surface);font-size:18px;font-weight:800}.controller-brand h3{margin-top:4px;font-size:20px}.controller-brand p{margin-top:5px;color:var(--muted);font-size:11px}.controller-actions{display:flex;gap:6px;flex-wrap:wrap;margin-top:20px}.controller-config .form-grid{margin-top:5px}.controller-log{grid-column:1/-1}.controller-danger{display:flex;align-items:center;justify-content:space-between;gap:18px}.controller-danger p{margin-top:4px;color:var(--muted);font-size:10px}

/* Activity / settings / diagnostics */
.activity-list{padding:0;overflow:hidden}.activity-row{display:grid;grid-template-columns:10px minmax(0,1fr) auto;gap:10px;align-items:center;padding:11px 14px;border-bottom:1px solid var(--border)}.activity-row:last-child{border-bottom:0}.activity-dot{width:6px;height:6px;border-radius:50%;background:var(--accent)}.activity-row strong{display:block;font-size:10px}.activity-row span{display:block;margin-top:2px;color:var(--muted);font-size:8px}.activity-meta{text-align:right}.settings-grid{display:grid;grid-template-columns:minmax(300px,.8fr) minmax(0,1.2fr);gap:10px}.settings-summary{margin-top:5px}.connection-buttons{display:flex;gap:6px;flex-wrap:wrap;margin-top:14px}.options-form{margin-top:4px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:11px}.span-2{grid-column:1/-1}.switch-list{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-top:14px}.switch-list label,.checkbox-field{display:flex;align-items:center;gap:9px}.switch-list label{padding:10px;border:1px solid var(--border);border-radius:8px;background:var(--surface-2);cursor:pointer}.switch-list input{display:none}.switch-list label>span,.toggle-switch>span{position:relative;width:30px;height:18px;flex:0 0 auto;border-radius:99px;background:var(--border-strong);transition:background .15s}.switch-list label>span:after,.toggle-switch>span:after{content:"";position:absolute;width:12px;height:12px;left:3px;top:3px;border-radius:50%;background:#fff;box-shadow:0 1px 2px rgba(0,0,0,.2);transition:transform .15s}.switch-list input:checked+span,.toggle-switch input:checked+span{background:var(--accent)}.switch-list input:checked+span:after,.toggle-switch input:checked+span:after{transform:translateX(12px)}.switch-list strong{display:block;font-size:10px}.switch-list small{display:block;margin-top:2px;color:var(--faint);font-size:8px}.form-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:14px;padding-top:14px;border-top:1px solid var(--border)}
.diagnostics-grid,.node-metrics-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-bottom:10px}.diag-card,.node-metric-card{min-height:84px;padding:12px 13px;border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface)}.diag-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.diag-card span,.node-metric-card span{color:var(--faint);font-size:8px;text-transform:uppercase;font-weight:700;letter-spacing:.06em}.diag-card strong,.node-metric-card strong{display:block;margin-top:8px;font-size:13px}.diag-lines{margin-top:4px;color:var(--muted);font-size:9px}.diag-status{width:7px;height:7px;border-radius:50%;background:var(--faint)}.diag-status.online{background:var(--green)}.diagnostic-split,.advanced-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(360px,.9fr);gap:10px}.method-list{display:flex;flex-wrap:wrap;gap:5px;max-height:360px;overflow:auto}.method-chip{padding:4px 7px;border:1px solid var(--border);border-radius:6px;background:var(--surface-2);color:var(--muted);font-family:var(--mono);font-size:8px}.log-surface pre,.controller-log pre,#rpc-response{max-height:430px;margin:0;padding:13px;border:1px solid var(--border);border-radius:8px;background:var(--terminal);color:var(--terminal-text);overflow:auto;white-space:pre-wrap;word-break:break-word;font:10px/1.6 var(--mono)}.rpc-console-form{display:flex;flex-direction:column;gap:12px}

/* Drawer / modals */
.drawer-backdrop,.confirm-backdrop{position:fixed;inset:0;z-index:100;display:flex;background:rgba(5,8,12,.48);backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px)}.drawer-backdrop{justify-content:flex-end}.drawer{width:min(580px,100%);height:100%;display:flex;flex-direction:column;background:var(--surface);box-shadow:var(--shadow-float)}.drawer>header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:20px;border-bottom:1px solid var(--border)}.drawer>header h2{margin-top:5px;font-size:20px}.drawer>header p:not(.overline){margin-top:4px;color:var(--muted);font-size:10px}.drawer form{min-height:0;display:flex;flex:1;flex-direction:column}.drawer-body{flex:1;overflow:auto;padding:18px}.form-section{padding:16px;border:1px solid var(--border);border-radius:10px;background:var(--surface-2)}.form-section+.form-section{margin-top:10px}.form-section-title{display:flex;align-items:center;gap:10px;margin-bottom:13px}.form-section-title>span{width:28px;height:28px;display:grid;place-items:center;border-radius:7px;background:var(--accent-soft);color:var(--accent);font-size:9px;font-weight:800}.form-section-title strong{display:block;font-size:11px}.form-section-title small{display:block;margin-top:2px;color:var(--faint);font-size:8px}.form-section-title .toggle-switch{margin-left:auto}.toggle-switch{display:inline-flex;cursor:pointer}.toggle-switch input{display:none}.drawer footer{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:14px 18px;border-top:1px solid var(--border);background:var(--surface-2)}.drawer footer>div{display:flex;gap:7px}.connection-test{margin-top:10px;padding:10px 12px;border:1px solid var(--border);border-radius:8px;background:var(--surface-2);color:var(--muted);font-size:10px}.connection-test.success{background:var(--green-soft);border-color:color-mix(in srgb,var(--green) 25%,var(--border));color:var(--green)}.connection-test.error{background:var(--red-soft);border-color:color-mix(in srgb,var(--red) 24%,var(--border));color:var(--red)}
.confirm-backdrop{align-items:center;justify-content:center;padding:18px}.confirm-card,.player-modal-card,.node-setup-card{width:min(430px,100%);border:1px solid var(--border);border-radius:12px;background:var(--surface);box-shadow:var(--shadow-float)}.confirm-card{padding:20px;text-align:center}.confirm-icon{width:38px;height:38px;display:grid;place-items:center;margin:0 auto 12px;border-radius:10px;background:var(--red-soft);color:var(--red)}.confirm-card p{margin:7px 0 18px;color:var(--muted);font-size:10px}.confirm-card>div:last-child{display:flex;justify-content:center;gap:7px}.player-modal-card,.node-setup-card{width:min(620px,100%);padding:0}.player-modal-card>header,.node-setup-card>header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:18px;border-bottom:1px solid var(--border)}.player-modal-card>header h3,.node-setup-card>header h3{margin-top:4px;font-size:18px}.player-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:16px}.player-detail-grid>div{padding:10px;border:1px solid var(--border);border-radius:8px;background:var(--surface-2)}.player-detail-grid span{display:block;color:var(--faint);font-size:8px;text-transform:uppercase}.player-detail-grid strong{display:block;margin-top:4px;font-size:10px}.private-message-form{display:flex;gap:7px;padding:0 16px 16px}.node-setup-body{padding:18px}.install-step{display:flex;gap:10px;align-items:flex-start}.install-step>span{width:28px;height:28px;display:grid;place-items:center;border-radius:7px;background:var(--accent-soft);color:var(--accent);font-weight:800}.install-step p{margin-top:3px;color:var(--muted);font-size:10px}.install-command{margin:14px 0;padding:12px;border:1px solid var(--border);border-radius:8px;background:var(--terminal);color:var(--terminal-text);overflow:auto;font:10px/1.55 var(--mono)}.install-notes{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:16px}.install-notes>div{padding:10px;border:1px solid var(--border);border-radius:8px;background:var(--surface-2)}.install-notes strong{display:block;font-size:9px}.install-notes span{display:block;margin-top:4px;color:var(--muted);font-size:8px}
.toast-host{position:fixed;right:18px;bottom:18px;z-index:140;display:flex;flex-direction:column;gap:8px}.toast{min-width:280px;max-width:420px;display:flex;align-items:flex-start;gap:10px;padding:11px 12px;border:1px solid var(--border);border-radius:9px;background:var(--surface);box-shadow:var(--shadow-float)}.toast-icon{width:24px;height:24px;display:grid;place-items:center;border-radius:7px;background:var(--green-soft);color:var(--green);font-weight:800}.toast.error .toast-icon{background:var(--red-soft);color:var(--red)}.toast strong{display:block;font-size:10px}.toast small{display:block;margin-top:2px;color:var(--muted);font-size:9px}

/* Login / setup */
.login-page{min-height:100vh;background:var(--bg)}.login-bg{position:fixed;inset:0;pointer-events:none;background:linear-gradient(90deg,color-mix(in srgb,var(--surface-3) 55%,transparent) 1px,transparent 1px),linear-gradient(color-mix(in srgb,var(--surface-3) 55%,transparent) 1px,transparent 1px);background-size:48px 48px;mask-image:linear-gradient(to bottom,rgba(0,0,0,.35),transparent 76%)}.login-theme{position:fixed;right:18px;top:18px;z-index:20;display:flex;gap:2px;padding:3px;border:1px solid var(--border);border-radius:8px;background:var(--surface-3)}.login-shell{position:relative;z-index:1;min-height:100vh;display:grid;grid-template-columns:minmax(360px,520px) minmax(340px,420px);align-items:center;justify-content:center;gap:90px;padding:50px}.logo-xl{width:48px;height:48px;display:grid;place-items:center;margin-bottom:26px;border-radius:12px;background:var(--text);color:var(--surface);font-size:20px;font-weight:850}.login-brand h1{margin-top:10px;font-size:48px;line-height:1.04;letter-spacing:-.05em}.login-brand h1 em{color:var(--accent);font-style:normal}.login-brand>p:last-child{max-width:460px;margin-top:18px;color:var(--muted);font-size:13px}.login-card{padding:24px;border:1px solid var(--border);border-radius:14px;background:var(--surface);box-shadow:var(--shadow)}.login-card-head{display:flex;align-items:center;gap:10px;margin-bottom:28px}.login-card-head strong{display:block;font-size:11px}.login-card-head span{display:block;margin-top:2px;color:var(--faint);font-size:8px;text-transform:uppercase;letter-spacing:.07em}.login-card h2{font-size:23px}.login-card>.muted{margin-top:5px;margin-bottom:18px;font-size:11px}.login-card .field{margin-top:12px}.login-card .button{margin-top:16px}.login-note{display:block;margin-top:14px;text-align:center;color:var(--faint);font-size:8px}.alert.error{margin:12px 0;padding:10px;border:1px solid color-mix(in srgb,var(--red) 26%,var(--border));border-radius:8px;background:var(--red-soft);color:var(--red);font-size:10px}

/* responsive */
@media(max-width:1220px){.workspace{padding-left:22px;padding-right:22px}.server-topbar{margin-left:-22px;margin-right:-22px;padding-left:22px;padding-right:22px}.server-tabs{margin-left:-22px;margin-right:-22px;padding-left:22px;padding-right:22px}.server-card{grid-template-columns:minmax(220px,1.5fr) minmax(150px,1fr) 90px auto}.server-card .server-cell:nth-of-type(4){display:none}.moderation-grid{grid-template-columns:1fr 1fr}.moderation-grid>article:last-child{grid-column:1/-1}.diagnostics-grid,.node-metrics-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:980px){.topnav{display:none}.top-user>span{display:none}.server-switcher-wrap{min-width:165px}.server-topbar{grid-template-columns:auto 1fr}.server-actions{grid-column:1/-1;justify-content:flex-end}.server-tabs{top:calc(var(--topbar) + 122px)}.overview-kpis{grid-template-columns:1fr 1fr}.overview-layout,.controller-layout,.settings-grid,.diagnostic-split,.advanced-grid,.chat-layout{grid-template-columns:1fr}.mode-settings-list{grid-template-columns:1fr}.mode-setting-row:nth-child(odd){border-right:0}.server-card{grid-template-columns:minmax(220px,1fr) minmax(160px,.8fr) 90px auto}.server-card .server-cell:nth-of-type(3){display:none}.login-shell{gap:40px;padding:34px}.login-brand h1{font-size:40px}}
@media(max-width:720px){:root{--topbar:112px}.global-topbar{height:auto;min-height:112px;flex-wrap:wrap;padding:10px 12px}.topbar-brand small,.top-user{display:none}.topbar-spacer{display:none}.server-switcher-wrap{order:10;flex:1 1 100%;max-width:none}.top-theme{margin-left:auto}.workspace{padding:18px 12px 44px}.page-header{align-items:flex-start;flex-direction:column}.header-actions{width:100%}.header-actions .searchbox{flex:1;min-width:0}.fleet-metrics{grid-template-columns:1fr 1fr}.fleet-metrics article:nth-child(3){border-left:0;border-top:1px solid var(--border)}.fleet-metrics article:nth-child(4){border-top:1px solid var(--border)}.server-grid{border-radius:9px}.server-card{grid-template-columns:minmax(0,1fr) auto;gap:10px;min-height:78px}.server-card .server-cell{display:none!important}.server-row-actions{grid-column:2}.server-topbar{position:relative;top:auto;margin:0 0 4px;padding:12px 0;border-bottom:0;background:transparent;backdrop-filter:none}.server-actions{justify-content:flex-start;overflow-x:auto;padding-bottom:2px}.server-tabs{position:sticky;top:var(--topbar);margin:0 -12px 14px;padding:7px 12px}.tab-group-label{display:none}.overview-kpis,.node-health-strip{grid-template-columns:1fr 1fr}.node-health-strip>div:nth-child(3){border-left:0;border-top:1px solid var(--border)}.node-health-strip>div:nth-child(4){border-top:1px solid var(--border)}.map-stage{grid-template-columns:1fr}.quick-row{grid-template-columns:1fr}.map-context{grid-template-columns:1fr}.moderation-grid{grid-template-columns:1fr}.moderation-grid>article:last-child{grid-column:auto}.section-heading{align-items:flex-start;flex-direction:column}.section-tools,.section-heading .searchbox{width:100%}.section-tools .searchbox{flex:1;min-width:0}.form-grid,.switch-list{grid-template-columns:1fr}.span-2{grid-column:auto}.install-notes{grid-template-columns:1fr}.login-shell{grid-template-columns:1fr;gap:26px;padding:28px 18px}.login-brand{display:none}.login-card{width:min(420px,100%);margin:auto}.data-table{min-width:720px}.map-table{min-width:820px}.ban-table{min-width:560px}.guest-table{min-width:360px}.table-surface{overflow:auto}.drawer{width:100%}}
@media(max-width:460px){.top-add-server{font-size:0}.top-add-server .icon{margin:0}.fleet-metrics{grid-template-columns:1fr 1fr}.overview-kpis,.node-health-strip,.diagnostics-grid,.node-metrics-grid{grid-template-columns:1fr}.node-health-strip>div+div{border-left:0;border-top:1px solid var(--border)}.title-line{align-items:flex-start;flex-direction:column;gap:4px}.server-actions .button{height:34px;padding:0 10px}.server-tabs{gap:6px}.tab-group{flex:0 0 auto}.player-detail-grid{grid-template-columns:1fr}.drawer footer{align-items:stretch;flex-direction:column}.drawer footer>div{width:100%}.drawer footer .button{flex:1}}
