
.vxCabinetStatusHost{position:relative;display:inline-flex;align-items:center;flex:0 0 auto}
.vxCabinetStatusTrigger{display:inline-flex;align-items:center;gap:6px;padding:6px 7px;border:0;border-radius:8px;background:transparent;color:#86efac;font:inherit;font-size:13px;white-space:nowrap;cursor:pointer}
.vxCabinetServerStatus .vxCabinetStatusTrigger{padding:10px 12px;border:1px solid #26364b;border-radius:11px;background:#111c2c;color:#d8e0eb;font-weight:600}
.vxCabinetStatusTrigger:hover,.vxCabinetStatusHost.is-open .vxCabinetStatusTrigger{background:rgba(255,255,255,.065)}
.vxCabinetStatusDot{width:7px;height:7px;display:inline-block;flex:0 0 auto;border-radius:50%;background:#64748b;box-shadow:0 0 0 3px rgba(100,116,139,.12)}
.vxCabinetStatusDot.online{background:#22c55e;box-shadow:0 0 0 3px rgba(34,197,94,.12)}
.vxCabinetStatusDot.warning{background:#f59e0b;box-shadow:0 0 0 3px rgba(245,158,11,.12)}
.vxCabinetStatusDot.offline{background:#ef4444;box-shadow:0 0 0 3px rgba(239,68,68,.12)}
.vxCabinetStatusChevron{font-size:10px;opacity:.75}
.vxCabinetStatusPanel{position:absolute;top:calc(100% + 8px);left:0;z-index:10080;width:min(390px,calc(100vw - 24px));padding:12px;border:1px solid rgba(148,163,184,.22);border-radius:14px;background:rgba(11,16,27,.99);box-shadow:0 20px 55px rgba(0,0,0,.5);opacity:0;visibility:hidden;transform:translateY(-5px);pointer-events:none;transition:opacity .14s ease,visibility .14s ease,transform .14s ease}
.vxCabinetServerStatus .vxCabinetStatusPanel{right:0;left:auto}
.vxCabinetStatusHost:hover .vxCabinetStatusPanel,.vxCabinetStatusHost.is-open .vxCabinetStatusPanel,.vxCabinetStatusHost:focus-within .vxCabinetStatusPanel{opacity:1;visibility:visible;transform:translateY(0);pointer-events:auto}
.vxCabinetStatusTitle{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px;color:#eef2ff;font-size:13px}
.vxCabinetStatusTitle a,.vxCabinetStatusTitle button{padding:0;border:0;background:none;color:#93c5fd;font:inherit;font-size:11px;text-decoration:none;cursor:pointer}
.vxCabinetStatusGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}
.vxCabinetStatusCard{display:flex;align-items:center;gap:8px;min-width:0;padding:8px;border:1px solid rgba(148,163,184,.15);border-radius:10px;background:rgba(255,255,255,.035)}
.vxCabinetStatusCard>div{min-width:0}.vxCabinetStatusCard b{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#eef2ff;font-size:12px}.vxCabinetStatusCard small{display:block;margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#94a3b8;font-size:10px}
.vxCabinetStatusEmpty{padding:10px;color:#94a3b8;font-size:12px;text-align:center}
.vxInternalHealth,.vxOpsIncidentBanner{display:none!important}
@media(max-width:760px){.vxCabinetStatusPanel{position:fixed;top:62px;right:12px!important;left:12px!important;width:auto}.vxCabinetStatusGrid{grid-template-columns:1fr}.vxCabinetStatusTrigger{font-size:12px}}


/* SA merge: keep the management header and External Billing button at the top. */
.vxSaTopHeader.vxSaMergedHeader{
  display:block!important;
  order:-100!important;
  margin:0 0 14px!important;
  padding:0 0 14px!important;
  border-bottom:1px solid rgba(148,163,184,.18)!important
}
.vxSaMergedHeader h1,.vxSaMergedHeader h2,.vxSaMergedHeader h3,.vxSaMergedHeader h4{
  margin-top:0!important
}
.vxSaMergedToolbar{
  display:flex;
  align-items:center;
  gap:8px;
  flex-wrap:wrap;
  margin-top:10px
}
#sa-external-billing-open.vxSaExternalBillingButton{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:7px!important
}
