:root{--vxops-bg:#0a1019;--vxops-card:#0e1724;--vxops-line:rgba(148,163,184,.17);--vxops-text:#edf3fb;--vxops-muted:#8e9caf;--vxops-accent:#7557ee;--vxops-good:#34d399;--vxops-warn:#f6c453;--vxops-bad:#fb7185}
.vxOpsPage{padding:0!important;background:transparent!important;border:0!important}.vxOpsShell{display:grid;grid-template-columns:210px minmax(0,1fr);min-height:650px;border:1px solid var(--vxops-line);border-radius:18px;overflow:hidden;background:linear-gradient(145deg,#08101a,#0b111b);color:var(--vxops-text)}.vxOpsNav{padding:16px 10px;border-right:1px solid var(--vxops-line);background:rgba(5,10,17,.7);display:flex;flex-direction:column;gap:5px}.vxOpsNav h3{margin:4px 10px 13px;font-size:16px}.vxOpsNav button{border:0;border-radius:9px;padding:10px 11px;text-align:left;background:transparent;color:#aeb9c8;cursor:pointer}.vxOpsNav button:hover,.vxOpsNav button.is-active{color:#fff;background:rgba(117,87,238,.15)}.vxOpsContent{padding:18px;min-width:0}.vxOpsHead{display:flex;justify-content:space-between;align-items:flex-start;gap:14px;margin-bottom:15px}.vxOpsHead h2,.vxOpsHead h3,.vxOpsHead p{margin:0}.vxOpsHead p{color:var(--vxops-muted);font-size:12px;margin-top:4px}.vxOpsMetrics{display:grid;grid-template-columns:repeat(5,minmax(120px,1fr));gap:10px;margin-bottom:14px}.vxOpsMetric,.vxOpsCard{border:1px solid var(--vxops-line);background:rgba(14,23,36,.87);border-radius:13px}.vxOpsMetric{padding:13px}.vxOpsMetric span,.vxOpsMetric small{display:block;color:var(--vxops-muted);font-size:10px}.vxOpsMetric b{display:block;font-size:22px;margin:6px 0}.vxOpsGrid2{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(270px,.8fr);gap:12px}.vxOpsCard{overflow:hidden}.vxOpsCardHead{display:flex;align-items:center;justify-content:space-between;padding:12px 14px;border-bottom:1px solid var(--vxops-line)}.vxOpsCardHead h4{margin:0;font-size:13px}.vxOpsCardHead small{color:var(--vxops-muted)}.vxOpsFeed{max-height:560px;overflow:auto}.vxOpsEvent{display:grid;grid-template-columns:10px minmax(0,1fr) auto;gap:10px;padding:11px 13px;border-bottom:1px solid rgba(148,163,184,.09)}.vxOpsEventDot{width:8px;height:8px;border-radius:50%;background:#63a9ff;margin-top:5px}.vxOpsEventDot.WARNING{background:var(--vxops-warn)}.vxOpsEventDot.ERROR,.vxOpsEventDot.CRITICAL{background:var(--vxops-bad)}.vxOpsEventMain b{font-size:12px}.vxOpsEventMain p{margin:4px 0 0;color:var(--vxops-muted);font-size:11px;line-height:1.35}.vxOpsEventMeta{font-size:10px;color:#718096}.vxOpsAttention{padding:10px;display:grid;gap:8px}.vxOpsAttentionItem{padding:10px;border-radius:9px;border:1px solid rgba(246,196,83,.23);background:rgba(246,196,83,.07)}.vxOpsAttentionItem.bad{border-color:rgba(251,113,133,.25);background:rgba(251,113,133,.07)}.vxOpsAttentionItem b,.vxOpsAttentionItem span{display:block;font-size:11px}.vxOpsAttentionItem span{color:var(--vxops-muted);margin-top:4px}.vxOpsServerGroup{border:1px solid var(--vxops-line);border-radius:13px;margin-bottom:10px;overflow:hidden;background:rgba(14,23,36,.75)}.vxOpsServerTop{display:flex;justify-content:space-between;align-items:center;padding:12px 14px}.vxOpsServerTop b,.vxOpsServerTop small{display:block}.vxOpsServerTop small{color:var(--vxops-muted);margin-top:4px}.vxOpsStatus{display:inline-flex;align-items:center;border-radius:999px;padding:4px 8px;font-size:9px;text-transform:uppercase;letter-spacing:.03em;background:rgba(148,163,184,.12);color:#c5cfdb}.vxOpsStatus.ONLINE,.vxOpsStatus.ALLOWED{background:rgba(52,211,153,.12);color:#7de9bd}.vxOpsStatus.OFFLINE,.vxOpsStatus.BLOCKED,.vxOpsStatus.BLOCKED_VERSION{background:rgba(251,113,133,.12);color:#ff9aac}.vxOpsStatus.WARNING,.vxOpsStatus.UPDATE_REQUIRED,.vxOpsStatus.UPDATE_RECOMMENDED{background:rgba(246,196,83,.12);color:#f8d97b}.vxOpsTable{width:100%;border-collapse:collapse;font-size:11px}.vxOpsTable th,.vxOpsTable td{padding:9px 12px;text-align:left;border-top:1px solid rgba(148,163,184,.1)}.vxOpsTable th{color:var(--vxops-muted);font-weight:500}.vxOpsButton{border:1px solid var(--vxops-line);border-radius:8px;padding:7px 10px;background:#101b2a;color:#eaf0f8;cursor:pointer;font-size:11px;text-decoration:none;display:inline-flex;align-items:center;justify-content:center}.vxOpsButton.primary{background:linear-gradient(135deg,#7354e9,#593acb);border-color:#8068e8}.vxOpsButton.danger{color:#ff9aac;border-color:rgba(251,113,133,.24)}.vxOpsForm{display:grid;grid-template-columns:repeat(4,minmax(120px,1fr));gap:9px;padding:12px;border:1px solid var(--vxops-line);border-radius:13px;background:rgba(14,23,36,.8);margin-bottom:12px}.vxOpsField{display:grid;gap:5px}.vxOpsField span{font-size:10px;color:var(--vxops-muted)}.vxOpsField input,.vxOpsField select,.vxOpsField textarea{box-sizing:border-box;width:100%;border:1px solid var(--vxops-line);border-radius:8px;background:#08111d;color:#fff;padding:8px}.vxOpsField.span2{grid-column:span 2}.vxOpsField.span4{grid-column:1/-1}.vxOpsFormActions{grid-column:1/-1;display:flex;justify-content:flex-end}.vxOpsEmpty{padding:24px;text-align:center;color:var(--vxops-muted)}.vxOpsLock{min-height:410px;display:grid;place-items:center;text-align:center;border:1px solid var(--vxops-line);border-radius:14px;background:radial-gradient(circle at 50% 20%,rgba(117,87,238,.16),transparent 48%),#0b131e}.vxOpsLock>div{max-width:440px;padding:30px}.vxOpsLock strong{display:block;font-size:35px}.vxOpsLock h3{margin:12px 0 6px}.vxOpsLock p{color:var(--vxops-muted);line-height:1.5}.vxOpsBoot{min-height:320px;display:grid;place-items:center;color:var(--vxops-muted)}.vxOpsBoot span{width:30px;height:30px;border-radius:50%;border:3px solid rgba(117,87,238,.2);border-top-color:#8c72fb;animation:vxopsSpin .8s linear infinite}.vxOpsBoot b{display:block;margin-top:-115px}@keyframes vxopsSpin{to{transform:rotate(360deg)}}
.vxInternalHealth{display:inline-flex;align-items:center;gap:6px;margin-left:8px;font-size:10px;color:#aab5c4}.vxInternalHealth i{width:8px;height:8px;border-radius:50%;background:#94a3b8}.vxInternalHealth.good i{background:var(--vxops-good)}.vxInternalHealth.warn i{background:var(--vxops-warn)}.vxInternalHealth.bad i{background:var(--vxops-bad)}.vxOpsIncidentBanner{position:sticky;top:0;z-index:80;padding:8px 14px;text-align:center;background:#5b1c29;color:#fff;border-bottom:1px solid rgba(251,113,133,.4);font-size:12px}
.vxSupportStatusSettings{margin-top:14px;padding:13px;border:1px solid var(--vxops-line);border-radius:12px;background:rgba(117,87,238,.055)}.vxSupportStatusSettings h4{margin:0 0 5px}.vxSupportStatusSettings p{margin:0 0 10px;color:var(--vxops-muted);font-size:11px}.vxSupportOptions{display:grid;grid-template-columns:1fr 1fr;gap:7px}.vxSupportOptions label,.vxSupportServers label{display:flex;align-items:center;gap:7px;font-size:11px}.vxSupportServers{margin-top:10px;display:grid;gap:6px;max-height:190px;overflow:auto}.vxSupportServerItem{padding:8px;border:1px solid rgba(148,163,184,.12);border-radius:8px}.vxSupportStatusSettings.is-locked{opacity:.88}.vxSupportLock{padding:13px;text-align:center}.vxSupportLock b{display:block;margin-bottom:6px}.vxSupportLock small{color:var(--vxops-muted)}
.vxMapOperationsPanel{position:absolute;right:10px;top:55px;bottom:10px;z-index:14;width:min(365px,calc(100% - 20px));border:1px solid var(--vxops-line);border-radius:14px;background:rgba(7,12,20,.96);backdrop-filter:blur(16px);box-shadow:0 18px 60px rgba(0,0,0,.42);overflow:auto;color:#edf3fb}.vxMapOperationsHead{position:sticky;top:0;z-index:2;display:flex;justify-content:space-between;align-items:center;padding:13px 14px;border-bottom:1px solid var(--vxops-line);background:rgba(10,16,26,.98)}.vxMapOperationsHead h4{margin:0}.vxMapOperationsHead button{border:0;background:transparent;color:#fff;font-size:19px;cursor:pointer}.vxMapEventItem{width:100%;border:0;background:transparent;color:#fff;display:grid;grid-template-columns:8px 1fr;gap:9px;padding:10px 12px;text-align:left;border-bottom:1px solid rgba(148,163,184,.09);cursor:pointer}.vxMapEventItem:hover{background:rgba(117,87,238,.09)}.vxMapEventItem i{width:8px;height:8px;border-radius:50%;background:#63a9ff;margin-top:4px}.vxMapEventItem b,.vxMapEventItem span{display:block}.vxMapEventItem b{font-size:11px}.vxMapEventItem span{font-size:10px;color:var(--vxops-muted);margin-top:3px}.vxMapZoneForm{padding:12px;display:grid;gap:8px}.vxMapZoneForm input,.vxMapZoneForm select,.vxMapZoneForm textarea{width:100%;box-sizing:border-box;padding:8px;border:1px solid var(--vxops-line);border-radius:8px;background:#08111d;color:#fff}.vxMapZoneRuleGrid{display:grid;grid-template-columns:1fr 1fr;gap:5px;font-size:10px}.vxMapZoneList{padding:10px;display:grid;gap:8px}.vxMapZoneCard{padding:9px;border:1px solid rgba(148,163,184,.14);border-radius:9px}.vxMapZoneCard b,.vxMapZoneCard small{display:block}.vxMapZoneCard small{color:var(--vxops-muted);margin-top:4px}.vxMapZoneLocked{padding:32px 20px;text-align:center}.vxMapZoneLocked p{color:var(--vxops-muted)}.vxMapExtraTools{display:flex;gap:6px}.vxMapExtraTools button{font-size:11px}
.vxOpsModalOverlay{position:fixed;inset:0;z-index:10050;background:rgba(3,7,12,.77);display:grid;place-items:center;padding:20px}.vxOpsModal{width:min(920px,96vw);max-height:92vh;overflow:auto;border:1px solid var(--vxops-line);border-radius:16px;background:#0a111c;color:#fff;box-shadow:0 28px 90px rgba(0,0,0,.55)}.vxOpsModalHead{display:flex;justify-content:space-between;align-items:center;padding:14px;border-bottom:1px solid var(--vxops-line)}.vxOpsModalHead h3{margin:0}.vxOpsModalHead button{border:0;background:transparent;color:#fff;font-size:20px}.vxOpsModalBody{padding:14px}.vxDossierHero{display:grid;grid-template-columns:58px minmax(0,1fr) auto;gap:12px;align-items:center}.vxDossierAvatar{width:56px;height:56px;display:grid;place-items:center;border-radius:14px;background:linear-gradient(135deg,#7354e9,#263b68);font-weight:800}.vxDossierHero h3,.vxDossierHero p{margin:0}.vxDossierHero p{color:var(--vxops-muted);font-size:11px;margin-top:5px}.vxDossierTabs{display:flex;gap:5px;margin:14px 0}.vxDossierTabs button{border:0;border-radius:8px;padding:8px 10px;background:#101927;color:#aeb9c8}.vxDossierTabs button.is-active{background:#6a4bdc;color:#fff}.vxDossierPane{display:none}.vxDossierPane.is-active{display:block}.vxDossierFacts{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.vxDossierFact{padding:10px;border:1px solid var(--vxops-line);border-radius:9px}.vxDossierFact span,.vxDossierFact b{display:block}.vxDossierFact span{color:var(--vxops-muted);font-size:10px}.vxDossierFact b{margin-top:5px}.vxDossierList{display:grid;gap:7px}.vxDossierListItem{padding:10px;border:1px solid var(--vxops-line);border-radius:9px}.vxDossierListItem b,.vxDossierListItem span,.vxDossierListItem small{display:block}.vxDossierListItem span,.vxDossierListItem small{color:var(--vxops-muted);margin-top:4px;font-size:10px}.vxPlanFeatureMatrix{margin-top:16px;padding:14px;border:1px solid var(--vxops-line);border-radius:13px;background:rgba(14,23,36,.7)}.vxPlanFeatureMatrix table{width:100%;border-collapse:collapse}.vxPlanFeatureMatrix th,.vxPlanFeatureMatrix td{padding:9px;border-top:1px solid var(--vxops-line);text-align:center}.vxPlanFeatureMatrix th:first-child,.vxPlanFeatureMatrix td:first-child{text-align:left}.vxPlanYes{color:#7de9bd}.vxPlanUltra{color:#c4b5fd}.vxPlanNo{color:#78869a}
.vx-public-feature-badge{display:inline-flex;padding:3px 7px;border-radius:999px;background:rgba(117,87,238,.14);color:#c4b5fd;font-size:9px;font-weight:700;margin-bottom:8px}
@media(max-width:900px){.vxOpsShell{grid-template-columns:1fr}.vxOpsNav{border-right:0;border-bottom:1px solid var(--vxops-line);flex-direction:row;overflow:auto}.vxOpsNav h3{display:none}.vxOpsNav button{white-space:nowrap}.vxOpsMetrics{grid-template-columns:repeat(2,1fr)}.vxOpsGrid2{grid-template-columns:1fr}.vxOpsForm{grid-template-columns:1fr 1fr}.vxDossierFacts{grid-template-columns:1fr 1fr}}@media(max-width:540px){.vxOpsContent{padding:10px}.vxOpsMetrics{grid-template-columns:1fr 1fr}.vxOpsForm{grid-template-columns:1fr}.vxOpsField.span2,.vxOpsField.span4{grid-column:1}.vxSupportOptions{grid-template-columns:1fr}.vxDossierHero{grid-template-columns:50px 1fr}.vxDossierHero>div:last-child{grid-column:1/-1}.vxDossierFacts{grid-template-columns:1fr 1fr}}
.vxMapZoneDrawTools{display:flex;flex-wrap:wrap;gap:7px;grid-column:1/-1}.vxMapZoneDrawTools+.vxMapZoneRuleGrid{margin-top:2px}.vxMapZoneForm textarea[readonly]{cursor:default;opacity:.94}.vxMapStage.is-zone-drawing,.vxMapHost.is-zone-drawing,#vxmap-host.is-zone-drawing{cursor:crosshair!important}.vxMapStage.is-zone-drawing canvas,.vxMapHost.is-zone-drawing canvas,#vxmap-host.is-zone-drawing canvas{cursor:crosshair!important}
.vxOpsServerActions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}.vxOpsModalOverlay{position:fixed;inset:0;z-index:10050;background:rgba(3,5,10,.76);backdrop-filter:blur(10px);display:grid;place-items:center;padding:20px}.vxOpsModal{width:min(720px,96vw);max-height:92vh;overflow:auto;border:1px solid rgba(130,108,255,.3);border-radius:18px;background:linear-gradient(145deg,#161a26,#0d1018);box-shadow:0 30px 90px rgba(0,0,0,.55);padding:18px;color:#f4f5fb}.vxOpsModalHead{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;margin-bottom:15px}.vxOpsModalHead h3{margin:0;font-size:19px}.vxOpsModalHead p{margin:5px 0 0;color:#929aae;font-size:12px}.vxOpsModalHead>button{border:0;background:transparent;color:#929aae;font-size:26px;line-height:1;cursor:pointer}.vxOpsModalActions{display:flex;justify-content:flex-end;gap:8px;margin-top:16px}
.vxOpsReadOnlyNote{margin-bottom:14px;padding:11px 13px;border:1px solid rgba(117,92,255,.18);background:rgba(117,92,255,.07);border-radius:12px;color:#aeb5c7;font-size:12px}

/* 2026-07-26 hotfix: plan badges, compact support controls and stable nav tab */
.vxOpsTabIcon{width:20px;height:20px;display:inline-grid;place-items:center;flex:none;font-size:15px}.vxOpsTabText{min-width:0}
.vxPlanFeatureBadges{display:inline-flex;align-items:center;gap:6px;flex-wrap:wrap}.vxPlanFeatureBadge{display:inline-flex!important;align-items:center;justify-content:center;min-height:18px;padding:2px 7px!important;border:1px solid transparent;border-radius:999px;font-size:8px!important;line-height:1.1;font-weight:900;letter-spacing:.45px;vertical-align:middle}.vxPlanFeatureBadge--pro{color:#c9ffda;border-color:rgba(89,239,148,.43);background:linear-gradient(135deg,rgba(14,111,61,.8),rgba(4,67,37,.88));box-shadow:0 0 13px rgba(61,225,128,.15)}.vxPlanFeatureBadge--ultra{color:#f1e8ff;border-color:rgba(187,144,255,.52);background:linear-gradient(135deg,rgba(102,48,194,.86),rgba(57,23,127,.9));box-shadow:0 0 14px rgba(155,99,255,.22)}
.vxSupportStatusSettings{position:relative}.vxSupportSettingsHead{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.vxSupportSettingsHead h4{margin:0 0 5px}.vxSupportSettingsHead p{margin:0;color:var(--vxops-muted);font-size:11px}.vxSupportOptions{margin-top:11px}.vxSupportCheck,.vxSupportServerItem{cursor:pointer}.vxSupportOptions .vxSupportCheck,.vxSupportServers .vxSupportServerItem{display:flex!important;align-items:center!important;gap:9px!important}.vxSupportOptions input[type="checkbox"],.vxSupportServers input[type="checkbox"]{appearance:auto!important;-webkit-appearance:checkbox!important;width:16px!important;height:16px!important;min-width:16px!important;min-height:16px!important;max-width:16px!important;max-height:16px!important;margin:0!important;padding:0!important;flex:0 0 16px!important;border-radius:3px!important;accent-color:#7458ee;box-shadow:none!important}.vxSupportCheck span{line-height:1.25}.vxSupportServerItem span{min-width:0}.vxSupportServerItem b,.vxSupportServerItem small{display:block}.vxSupportServerItem small{margin-top:2px;color:var(--vxops-muted)}.vxSupportSettingsActions{margin-top:11px;display:flex;justify-content:flex-end}.vxSupportLockTitle{display:flex;align-items:center;justify-content:center;gap:9px;flex-wrap:wrap}.vxSupportLockAction{margin-top:10px}.vxSupportLock small{display:block;margin-top:5px}
.vxMapToolButton .vxPlanFeatureBadge{margin-left:4px;transform:translateY(-1px)}

/* 2026-07-26 safe command-center icon: CSS only */
.vxOpsTabIcon{
  position:relative!important;
  width:20px!important;
  height:20px!important;
  display:inline-block!important;
  flex:0 0 20px!important;
  font-size:0!important;
  line-height:0!important;
}
.vxOpsTabIcon::before,
.vxOpsTabIcon::after{
  content:""!important;
  position:absolute!important;
  left:2px!important;
  width:6px!important;
  height:6px!important;
  border-radius:2px!important;
  background:currentColor!important;
  box-shadow:10px 0 0 currentColor!important;
}
.vxOpsTabIcon::before{top:2px!important;}
.vxOpsTabIcon::after{top:12px!important;}

.vxOpsRconTest{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;border:1px solid var(--vxops-line);border-radius:10px;background:rgba(25,38,55,.55)}.vxOpsField small{display:block;margin-top:5px;color:var(--vxops-muted);font-size:10px}

/* RCON state badges */
.vxOpsRconManagement{display:inline-flex;align-items:center;gap:6px;min-height:24px;padding:4px 9px;border-radius:999px;font-size:10px;font-weight:700;line-height:1.2;white-space:nowrap;border:1px solid transparent}
.vxOpsRconManagement::before{content:"";width:7px;height:7px;border-radius:50%;flex:0 0 7px}
.vxOpsRconManagement.is-enabled{color:#83efbf;background:rgba(34,197,94,.11);border-color:rgba(34,197,94,.28)}
.vxOpsRconManagement.is-enabled::before{background:#22c55e;box-shadow:0 0 0 3px rgba(34,197,94,.12)}
.vxOpsRconManagement.is-disabled{color:#ff9cab;background:rgba(239,68,68,.1);border-color:rgba(239,68,68,.27)}
.vxOpsRconManagement.is-disabled::before{background:#ef4444;box-shadow:0 0 0 3px rgba(239,68,68,.11)}
.vxOpsRconState{display:flex;align-items:center;gap:12px;min-width:0;flex-wrap:wrap}
.vxOpsRconState>span{display:grid;gap:3px;color:var(--vxops-muted);font-size:10px}
.vxOpsRconState>span b{color:var(--vxops-text);font-size:11px}
.vxOpsRconState small{display:block;color:var(--vxops-muted);font-size:9px;max-width:420px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.vxOpsRconState small.is-error{color:#ff9cab}
@media (max-width:720px){.vxOpsRconTest{align-items:stretch;flex-direction:column}.vxOpsRconState{align-items:flex-start}.vxOpsRconTest>.vxOpsButton{width:100%}}

/* RCON command center */
.vxRconGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-bottom:18px}.vxRconServer{min-width:0}.vxRconServerHead{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:14px}.vxRconServerHead h3{margin:0 0 4px}.vxRconServerHead small{opacity:.72}.vxRconFacts{display:grid;gap:6px;margin-bottom:12px;font-size:13px}.vxRconFacts span{display:flex;justify-content:space-between;gap:12px}.vxRconFacts .is-error{display:block;color:#ff7b7b;word-break:break-word}.vxRconSay{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;margin-bottom:10px}.vxRconSay input{min-width:0;border:1px solid rgba(255,255,255,.14);background:rgba(0,0,0,.2);color:inherit;border-radius:10px;padding:10px 12px}.vxRconActions{display:flex;flex-wrap:wrap;gap:8px}.vxRconOutput{min-height:74px;max-height:210px;overflow:auto;white-space:pre-wrap;word-break:break-word;margin:12px 0 0;padding:11px;border-radius:10px;background:rgba(0,0,0,.28);border:1px solid rgba(255,255,255,.08);font:12px/1.45 Consolas,monospace}.vxRconHistory{overflow-x:auto}.vxOpsButton:disabled{opacity:.45;cursor:not-allowed}@media(max-width:980px){.vxRconGrid{grid-template-columns:1fr}}@media(max-width:640px){.vxRconServerHead{display:grid}.vxRconSay{grid-template-columns:1fr}.vxRconActions .vxOpsButton{flex:1 1 calc(50% - 8px)}}

/* 2026-07-27: top navigation, granular access and RCON workspace */
.vxOpsShell{display:flex!important;flex-direction:column!important;min-height:650px!important}
.vxOpsNav{position:sticky;top:0;z-index:4;display:flex!important;flex-direction:row!important;align-items:center;gap:7px!important;padding:10px 12px!important;border-right:0!important;border-bottom:1px solid var(--vxops-line)!important;background:rgba(5,10,17,.94)!important;overflow-x:auto}
.vxOpsNav button{flex:0 0 auto;white-space:nowrap;text-align:center!important;padding:9px 13px!important}
.vxOpsNav button.is-active{box-shadow:inset 0 0 0 1px rgba(117,87,238,.28)}
.vxOpsHeadActions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}
.vxOpsButton{gap:7px}.vxOpsButtonIcon{display:inline-flex;width:15px;height:15px;flex:0 0 15px}.vxOpsButtonIcon svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.vxOpsSendButton .vxOpsButtonIcon{margin-left:2px}.vxInstructionButton{color:#c7d2e3}.vxOpsMuted{font-size:11px;color:var(--vxops-muted)}
.vxOpsTabText{display:inline-flex;align-items:center;gap:6px}.vxOpsTabLock{font-size:10px}.vxOpsMainLocked{color:#ff9cab!important}.vxOpsAccessLock{min-height:520px}
.vxRconServer{padding:14px}.vxRconServerHead>div:last-child{display:flex;align-items:center;justify-content:flex-end;gap:7px;flex-wrap:wrap}.vxRconFacts{padding-bottom:12px;border-bottom:1px solid var(--vxops-line)}
.vxRconSettings{margin:12px 0 14px;padding:12px;border:1px solid rgba(117,87,238,.22);border-radius:12px;background:rgba(117,87,238,.055)}
.vxRconSectionHead{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:10px}.vxRconSectionHead b,.vxRconSectionHead small{display:block}.vxRconSectionHead small{margin-top:3px;color:var(--vxops-muted);font-size:10px}.vxRconSectionHead .vxInstructionButton{padding:5px 8px;font-size:10px}
.vxRconControlHead{margin-top:5px}.vxRconSettingsGrid{display:grid;grid-template-columns:1fr 1fr;gap:9px}.vxRconSettingsGrid .span2{grid-column:1/-1}.vxRconSettingsActions{display:flex;align-items:center;justify-content:flex-end;gap:8px;margin-top:10px;flex-wrap:wrap}
.vxRconActions .vxOpsButton{min-height:34px}.vxRconSay .vxOpsButton{min-width:104px}
.vxOpsAccessList{display:grid;gap:14px}.vxOpsAccessCard{border:1px solid var(--vxops-line);border-radius:14px;background:rgba(14,23,36,.87);padding:14px}.vxOpsAccessUser{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-bottom:12px;border-bottom:1px solid var(--vxops-line)}.vxOpsAccessUser h3,.vxOpsAccessUser small{margin:0}.vxOpsAccessUser small{display:block;margin-top:4px;color:var(--vxops-muted)}
.vxOpsAccessMaster{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:12px;padding:11px 12px;border:1px solid rgba(117,87,238,.38);border-radius:10px;background:rgba(117,87,238,.09)}.vxOpsAccessMaster label,.vxOpsAccessGroupToggle{display:flex;align-items:center;gap:8px;font-weight:700;color:#eef2ff}.vxOpsAccessMaster small{color:var(--vxops-muted)}.vxOpsAccessGroups{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:12px}.vxOpsAccessGroup{padding:11px;border:1px solid rgba(148,163,184,.12);border-radius:10px;background:rgba(5,10,17,.3)}.vxOpsAccessGroupHead{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:9px;padding-bottom:8px;border-bottom:1px solid rgba(148,163,184,.1)}.vxOpsAccessGroup h4{margin:0;font-size:12px}.vxOpsAccessGroupToggle{font-size:10px!important;font-weight:600!important;margin:0!important;white-space:nowrap}.vxOpsAccessGroup label{display:flex;align-items:center;gap:8px;margin:7px 0;color:#c7d1df;font-size:11px}.vxOpsAccessGroup input,.vxOpsAccessMaster input{width:15px;height:15px;accent-color:#7557ee}.vxOpsAccessActions{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:12px}.vxOpsAccessSaveState{color:var(--vxops-muted);font-size:11px}
@media(max-width:900px){.vxOpsNav{position:relative}.vxOpsAccessGroups{grid-template-columns:1fr 1fr}}
@media(max-width:640px){.vxRconSettingsGrid{grid-template-columns:1fr}.vxRconSettingsGrid .span2{grid-column:auto}.vxOpsAccessGroups{grid-template-columns:1fr}.vxOpsAccessUser{align-items:stretch;flex-direction:column}.vxOpsAccessUser .vxOpsButton{width:100%}.vxOpsHead{align-items:stretch;flex-direction:column}.vxOpsHeadActions{justify-content:flex-start}.vxRconSettingsActions .vxOpsButton{flex:1 1 auto}}

/* VX Agent 0.1 */
.vxAgentGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-bottom:16px}.vxAgentServer{padding:14px;min-width:0}.vxAgentServerHead{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:12px}.vxAgentServerHead h3,.vxAgentServerHead small{margin:0}.vxAgentServerHead small{display:block;margin-top:4px;color:var(--vxops-muted)}.vxAgentServerHead>div:last-child{display:flex;align-items:center;justify-content:flex-end;gap:7px;flex-wrap:wrap}.vxAgentProcess{display:inline-flex;align-items:center;gap:6px;padding:4px 8px;border-radius:999px;font-size:9px;font-weight:700}.vxAgentProcess::before{content:"";width:6px;height:6px;border-radius:50%}.vxAgentProcess.is-running{color:#7de9bd;background:rgba(52,211,153,.1)}.vxAgentProcess.is-running::before{background:#34d399}.vxAgentProcess.is-stopped{color:#ff9aac;background:rgba(251,113,133,.1)}.vxAgentProcess.is-stopped::before{background:#fb7185}.vxAgentIdentity{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-bottom:10px}.vxAgentIdentity span,.vxAgentMetrics>div{padding:9px;border:1px solid rgba(148,163,184,.11);border-radius:9px;background:rgba(5,10,17,.28);min-width:0}.vxAgentIdentity small,.vxAgentIdentity b{display:block}.vxAgentIdentity small,.vxAgentMetrics span{color:var(--vxops-muted);font-size:9px}.vxAgentIdentity b{margin-top:4px;font-size:11px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vxAgentMetrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-bottom:10px}.vxAgentMetrics b{display:block;margin-top:4px;font-size:11px}.vxAgentError{padding:9px 10px;border:1px solid rgba(251,113,133,.23);border-radius:9px;background:rgba(251,113,133,.07);color:#ff9aac;font-size:10px;word-break:break-word}.vxAgentEmptyInstall{display:flex;align-items:center;gap:12px;min-height:92px;padding:14px;border:1px dashed rgba(148,163,184,.2);border-radius:11px;background:rgba(5,10,17,.22)}.vxAgentEmptyInstall>.vxOpsButtonIcon{width:28px;height:28px;flex:0 0 28px;color:#8e7cf4}.vxAgentEmptyInstall svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:1.6}.vxAgentEmptyInstall b,.vxAgentEmptyInstall p{display:block;margin:0}.vxAgentEmptyInstall p{margin-top:5px;color:var(--vxops-muted);font-size:10px}.vxAgentCardActions{display:flex;justify-content:flex-end;gap:8px;flex-wrap:wrap;margin-top:11px}.vxAgentControlHead{margin-top:12px;padding-top:12px;border-top:1px solid var(--vxops-line)}.vxAgentControlHead b,.vxAgentControlHead small{display:block}.vxAgentControlHead small{margin-top:4px;color:var(--vxops-muted);font-size:10px;line-height:1.4}.vxAgentActions{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.vxAgentLogControls{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;margin-top:9px}.vxAgentLogControls input{min-width:0;border:1px solid rgba(255,255,255,.14);background:rgba(0,0,0,.2);color:inherit;border-radius:9px;padding:8px 10px;font-size:11px}.vxAgentOutput{margin-top:10px}.vxAgentHistory{overflow-x:auto}.vxAgentHistoryResult{max-width:300px;white-space:normal;word-break:break-word;color:var(--vxops-muted)}.vxAgentSetupModal{width:min(760px,calc(100vw - 28px))}.vxAgentSetupWarning{margin-bottom:12px;padding:10px 12px;border:1px solid rgba(246,196,83,.25);border-radius:10px;background:rgba(246,196,83,.07);color:#f8d97b;font-size:11px}.vxAgentSecretRow{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px}.vxAgentSecretRow input{font-family:Consolas,monospace}.vxAgentConfigText{min-height:280px!important;resize:vertical!important;font:11px/1.45 Consolas,monospace!important}.vxAgentSetupSteps{margin-top:12px;padding:12px;border:1px solid var(--vxops-line);border-radius:10px;background:rgba(5,10,17,.28);font-size:11px}.vxAgentSetupSteps ol{margin:8px 0 0;padding-left:19px;color:#c7d1df}.vxAgentSetupSteps li{margin:5px 0;line-height:1.4}.vxAgentSetupSteps code{color:#bcaeff}
@media(max-width:1100px){.vxAgentGrid{grid-template-columns:1fr}.vxAgentIdentity{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:680px){.vxAgentServerHead{flex-direction:column}.vxAgentServerHead>div:last-child{justify-content:flex-start}.vxAgentMetrics{grid-template-columns:repeat(2,minmax(0,1fr))}.vxAgentLogControls,.vxAgentSecretRow{grid-template-columns:1fr}.vxAgentActions .vxOpsButton,.vxAgentCardActions .vxOpsButton{flex:1 1 calc(50% - 8px)}}

/* VX Agent 0.2: automatic RCON restart orchestration */
.vxRestartSectionHead{margin-top:15px;padding-top:14px;border-top:1px solid var(--vxops-line)}
.vxRestartIdle{display:flex;align-items:center;gap:11px;padding:12px;border:1px dashed rgba(148,163,184,.2);border-radius:11px;background:rgba(5,10,17,.24)}
.vxRestartIdle>.vxOpsButtonIcon{width:24px;height:24px;flex:0 0 24px;color:#8e7cf4}.vxRestartIdle b,.vxRestartIdle small{display:block}.vxRestartIdle small{margin-top:4px;color:var(--vxops-muted);font-size:10px}
.vxRestartActions{display:flex;align-items:flex-end;gap:9px;flex-wrap:wrap;margin-top:11px}.vxRestartManual{display:flex;align-items:flex-end;gap:8px;flex:1 1 560px;flex-wrap:wrap}.vxRestartManual>label:first-child{display:grid;gap:5px;min-width:170px}.vxRestartManual label span{font-size:10px;color:var(--vxops-muted)}.vxRestartManual select{min-height:35px;border:1px solid rgba(255,255,255,.14);background:rgba(0,0,0,.2);color:inherit;border-radius:9px;padding:7px 10px}.vxRestartKick{display:flex!important;align-items:center!important;gap:7px!important;min-height:35px;padding:0 4px;color:#c7d1df;font-size:10px}.vxRestartKick input{width:15px;height:15px;accent-color:#7557ee}.vxRestartEmergency{margin-left:auto}
.vxRestartProgress{padding:12px;border:1px solid rgba(117,87,238,.24);border-radius:12px;background:linear-gradient(145deg,rgba(117,87,238,.08),rgba(5,10,17,.32))}.vxRestartProgress.has-error{border-color:rgba(251,113,133,.28);background:rgba(251,113,133,.055)}
.vxRestartProgressHead{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.vxRestartProgressHead>div{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:6px 9px;min-width:0}.vxRestartProgressHead b{font-size:12px}.vxRestartProgressHead small{grid-column:1/-1;color:var(--vxops-muted);font-size:10px}.vxRestartProgress ol{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:7px;list-style:none;margin:12px 0 0;padding:0}.vxRestartProgress li{position:relative;display:flex;align-items:center;gap:6px;min-width:0;padding:7px 8px;border:1px solid rgba(148,163,184,.1);border-radius:8px;background:rgba(5,10,17,.32);color:#778397;font-size:9px}.vxRestartProgress li i{width:7px;height:7px;flex:0 0 7px;border-radius:50%;background:#4b5563}.vxRestartProgress li span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vxRestartProgress li.is-done{color:#8fe9c1;border-color:rgba(52,211,153,.19);background:rgba(52,211,153,.06)}.vxRestartProgress li.is-done i{background:#34d399}.vxRestartProgress li.is-current{color:#e7ddff;border-color:rgba(139,92,246,.36);background:rgba(139,92,246,.13);box-shadow:0 0 16px rgba(117,87,238,.08)}.vxRestartProgress li.is-current i{background:#9b7cff;box-shadow:0 0 0 4px rgba(155,124,255,.12)}.vxRestartProgress li.is-error{color:#ff9aac;border-color:rgba(251,113,133,.32);background:rgba(251,113,133,.08)}.vxRestartProgress li.is-error i{background:#fb7185}.vxRestartProgress li.is-cancelled{opacity:.55}.vxRestartError{margin-top:10px;padding:9px 10px;border:1px solid rgba(251,113,133,.22);border-radius:9px;background:rgba(251,113,133,.07);color:#ff9aac;font:10px/1.4 Consolas,monospace;word-break:break-word}
@media(max-width:760px){.vxRestartProgress ol{grid-template-columns:repeat(2,minmax(0,1fr))}.vxRestartProgressHead{flex-direction:column}.vxRestartManual{display:grid;grid-template-columns:1fr}.vxRestartManual>label:first-child{min-width:0}.vxRestartManual .vxOpsButton,.vxRestartEmergency{width:100%;margin-left:0}.vxRestartActions{display:grid;grid-template-columns:1fr}}

/* VX Agent 0.4: Windows service, safe updates and native backups */
.vxAgentGrid{grid-template-columns:1fr}
.vxOpsMetrics.vxAgentSummary{grid-template-columns:repeat(6,minmax(105px,1fr))}
.vxAgentIdentity{grid-template-columns:repeat(5,minmax(0,1fr))}
.vxAgentLogControls{grid-template-columns:minmax(180px,1fr) auto auto}
.vxAgentUpdateNotice,.vxAgentCurrentVersion{display:inline-flex;align-items:center;min-height:34px;padding:7px 10px;border-radius:9px;font-size:10px;font-weight:700}
.vxAgentUpdateNotice{color:#f7d67c;border:1px solid rgba(246,196,83,.24);background:rgba(246,196,83,.07)}
.vxAgentCurrentVersion{color:#86e5b9;border:1px solid rgba(52,211,153,.2);background:rgba(52,211,153,.06)}
.vxAgentUpdateState{display:flex;align-items:center;gap:10px;margin:10px 0;padding:9px 11px;border:1px solid rgba(117,87,238,.2);border-radius:9px;background:rgba(117,87,238,.07);font-size:10px}
.vxAgentUpdateState span{color:var(--vxops-muted)}
.vxAgentBackupSection{margin-top:15px;padding-top:14px;border-top:1px solid var(--vxops-line)}
.vxAgentBackupHead{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:11px}
.vxAgentBackupHead b,.vxAgentBackupHead small{display:block}.vxAgentBackupHead small{margin-top:4px;color:var(--vxops-muted);font-size:10px}
.vxAgentBackupTable{overflow-x:auto;border:1px solid rgba(148,163,184,.11);border-radius:10px}
.vxAgentBackupTable .vxOpsTable{min-width:760px}.vxAgentBackupTable td:first-child{max-width:340px;word-break:break-word}.vxAgentBackupTable td:first-child small{display:block;margin-top:3px;color:var(--vxops-muted)}
.vxAgentBackupActions{display:flex;justify-content:flex-end;gap:6px;white-space:nowrap}
.vxAgentBackupActions .vxOpsButton{padding:6px 8px;font-size:9px}
.vxAgentSchedule{margin:10px 0 12px;padding:11px;border:1px solid rgba(117,87,238,.18);border-radius:10px;background:rgba(117,87,238,.045)}
.vxAgentScheduleHead{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:9px}.vxAgentScheduleSwitch{display:flex;align-items:center;gap:6px;font-size:10px;color:#cbd5e1}.vxAgentScheduleSwitch input{width:15px;height:15px;accent-color:#7557ee}
.vxAgentScheduleGrid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:8px}.vxAgentScheduleGrid label{display:grid;gap:5px}.vxAgentScheduleGrid span{font-size:9px;color:var(--vxops-muted)}.vxAgentScheduleGrid input{min-width:0;border:1px solid rgba(255,255,255,.14);background:rgba(0,0,0,.2);color:inherit;border-radius:8px;padding:8px 9px;font-size:10px}
.vxAgentWeekdays{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-top:9px}.vxAgentWeekdays label{cursor:pointer}.vxAgentWeekdays input{position:absolute;opacity:0;pointer-events:none}.vxAgentWeekdays span{display:grid;place-items:center;min-width:31px;height:27px;padding:0 7px;border:1px solid rgba(148,163,184,.14);border-radius:8px;color:var(--vxops-muted);font-size:9px}.vxAgentWeekdays input:checked+span{color:#e7ddff;border-color:rgba(139,92,246,.42);background:rgba(139,92,246,.16)}
.vxAgentScheduleActions{display:flex;justify-content:flex-end;margin-top:9px}
.vxOpsActorSteam{display:block;margin-top:3px;color:var(--vxops-muted);font-size:9px;white-space:nowrap}
.vxRconCommandAudit{margin-top:14px}
@media(max-width:1100px){.vxOpsMetrics.vxAgentSummary{grid-template-columns:repeat(3,minmax(105px,1fr))}}
@media(max-width:900px){.vxAgentIdentity{grid-template-columns:repeat(2,minmax(0,1fr))}.vxAgentScheduleGrid{grid-template-columns:1fr 1fr}.vxAgentScheduleGrid label:first-child{grid-column:1/-1}}
@media(max-width:640px){.vxOpsMetrics.vxAgentSummary{grid-template-columns:repeat(2,minmax(0,1fr))}.vxAgentLogControls{grid-template-columns:1fr}.vxAgentBackupHead{flex-direction:column}.vxAgentBackupHead .vxOpsButton{width:100%}.vxAgentScheduleGrid{grid-template-columns:1fr}.vxAgentScheduleGrid label:first-child{grid-column:auto}.vxAgentBackupActions{justify-content:flex-start}}


/* VX server tabs 20260729 */
.vxServerTabs{display:flex;gap:10px;overflow-x:auto;overscroll-behavior-x:contain;padding:4px 2px 12px;margin:0 0 14px;scrollbar-width:thin}
.vxServerTab{min-width:168px;display:grid;grid-template-columns:12px minmax(0,1fr);grid-template-areas:"dot title" "dot status";column-gap:9px;align-items:center;text-align:left;padding:11px 13px;border:1px solid rgba(148,163,184,.18);border-radius:14px;background:rgba(13,22,36,.7);color:#dce7f5;cursor:pointer;transition:border-color .18s,background .18s,transform .18s;flex:0 0 auto}
.vxServerTab:hover{border-color:rgba(124,92,255,.55);transform:translateY(-1px)}
.vxServerTab.is-active{border-color:#7557ee;background:linear-gradient(135deg,rgba(117,87,238,.22),rgba(53,118,184,.13));box-shadow:0 0 0 1px rgba(117,87,238,.16) inset}
.vxServerTab b{grid-area:title;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:12px}
.vxServerTab small{grid-area:status;color:#8fa4bd;font-size:10px;white-space:nowrap}
.vxServerTabDot{grid-area:dot;width:9px;height:9px;border-radius:999px;background:#758398;box-shadow:0 0 0 3px rgba(117,131,152,.12)}
.vxServerTabDot.online{background:#32d583;box-shadow:0 0 0 3px rgba(50,213,131,.14),0 0 12px rgba(50,213,131,.48)}
.vxServerTabDot.offline,.vxServerTabDot.not_installed,.vxServerTabDot.error,.vxServerTabDot.blocked{background:#f04468;box-shadow:0 0 0 3px rgba(240,68,104,.14)}
.vxServerTabDot.waiting,.vxServerTabDot.warning,.vxServerTabDot.not_checked{background:#fdb022;box-shadow:0 0 0 3px rgba(253,176,34,.14)}
.vxServerTabDot.disabled{background:#667085;box-shadow:0 0 0 3px rgba(102,112,133,.14)}
.vxAgentGrid>[hidden],.vxOpsServerGroup[hidden]{display:none!important}
@media(max-width:720px){.vxServerTab{min-width:142px;padding:10px 11px}.vxServerTabs{margin-left:-2px;margin-right:-2px}}
