
.vxDashV2{display:grid;gap:12px;color:#dbe7f5}
.vxDashTopline{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:2px 2px 0}.vxDashTopline span,.vxDashPanelHead span{display:block;color:#6f8198;font-size:9px;font-weight:900;letter-spacing:.13em}.vxDashTopline h3{margin:3px 0 2px;font-size:24px;color:#f3f7fb}.vxDashTopline p{margin:0;color:#8294aa;font-size:11px}.vxDashTopline>button,.vxDashPanelHead>button{border:1px solid rgba(121,145,178,.24);border-radius:9px;background:#111c2a;color:#cbd8e7;padding:7px 10px;font-size:10px;cursor:pointer}.vxDashTopline>button:hover,.vxDashPanelHead>button:hover{border-color:rgba(95,118,255,.5);color:#fff}
.vxDashKpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.vxDashKpis article{position:relative;min-height:88px;padding:14px 16px;border:1px solid rgba(126,151,183,.18);border-radius:13px;background:linear-gradient(180deg,rgba(18,29,44,.9),rgba(10,19,31,.78));overflow:hidden}.vxDashKpis article:after{content:'';position:absolute;right:-18px;top:-28px;width:100px;height:100px;border-radius:50%;filter:blur(24px);opacity:.15}.vxDashKpis article.is-green:after{background:#35d37d}.vxDashKpis article.is-blue:after{background:#5597ff}.vxDashKpis article.is-orange:after{background:#f59e42}.vxDashKpis article.is-red:after{background:#ef5d65}.vxDashKpis span{display:block;color:#8ea0b5;font-size:10px;font-weight:700;text-transform:uppercase}.vxDashKpis b{display:block;margin-top:7px;color:#f4f8fc;font-size:27px;line-height:1}.vxDashKpis b small{font-size:13px;color:#71849b;font-weight:700}.vxDashKpis em{display:block;margin-top:8px;color:#70839a;font-size:9px;font-style:normal}.vxDashKpis .is-green em{color:#4ed98a}.vxDashKpis .is-orange em{color:#f2a94f}.vxDashKpis .is-red em{color:#ef6e74}
.vxDashMainGrid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(330px,.85fr);gap:10px}.vxDashBottomGrid{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(260px,.65fr);gap:10px}.vxDashPanel{border:1px solid rgba(125,148,179,.18);border-radius:13px;background:linear-gradient(180deg,rgba(14,24,38,.92),rgba(8,17,29,.78));overflow:hidden}.vxDashPanelHead{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 14px;border-bottom:1px solid rgba(126,148,177,.12)}.vxDashPanelHead h4{margin:3px 0 0;color:#e7eef7;font-size:13px}
.vxDashFeedFilters{display:flex;flex-wrap:wrap;gap:4px}.vxDashFeedFilters button{border:1px solid rgba(119,139,170,.2);border-radius:7px;background:#101a28;color:#8fa0b6;padding:5px 8px;font-size:9px;cursor:pointer}.vxDashFeedFilters button.is-active{border-color:rgba(93,116,255,.6);background:rgba(76,96,213,.2);color:#cfd8ff}
.vxDashFeed{display:grid;padding:0 12px 10px}.vxDashFeedItem{display:grid;grid-template-columns:27px 1fr auto;gap:9px;align-items:center;width:100%;min-width:0;padding:10px 2px;border:0;border-bottom:1px solid rgba(124,145,172,.1);background:transparent;color:inherit;text-align:left;cursor:pointer}.vxDashFeedItem:last-child{border-bottom:0}.vxDashFeedItem:hover{background:rgba(96,118,255,.045)}.vxDashFeedIcon{display:grid;place-items:center;width:26px;height:26px;border-radius:8px;background:rgba(111,133,163,.1);color:#8ca0b8;font-size:12px}.vxDashFeedItem.is-danger .vxDashFeedIcon{background:rgba(239,83,91,.14);color:#ff6b72}.vxDashFeedItem.is-warning .vxDashFeedIcon{background:rgba(239,166,61,.12);color:#ffbd5b}.vxDashFeedText{min-width:0}.vxDashFeedText b{display:block;color:#dce6f2;font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.vxDashFeedText small{display:block;margin-top:2px;color:#71849a;font-size:9px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.vxDashFeedTime{color:#72859b;font-size:8px}
.vxDashAttention{display:grid}.vxDashAttentionItem{display:grid;grid-template-columns:24px 1fr auto 10px;gap:9px;align-items:center;padding:11px 14px;border:0;border-bottom:1px solid rgba(124,145,172,.1);background:transparent;color:inherit;text-align:left;cursor:pointer}.vxDashAttentionItem:hover{background:rgba(239,166,61,.035)}.vxDashAttentionItem>span{font-size:14px}.vxDashAttentionItem.is-danger>span{color:#ef666d}.vxDashAttentionItem.is-warning>span{color:#f0ad50}.vxDashAttentionItem b{display:block;color:#dfe8f3;font-size:10px}.vxDashAttentionItem small{display:block;margin-top:2px;color:#71849a;font-size:8px}.vxDashAttentionItem em{font-size:8px;color:#c18b46;font-style:normal}.vxDashAttentionItem i{color:#62758c;font-style:normal}
.vxDashPlayersHead,.vxDashPlayerRow{display:grid;grid-template-columns:minmax(210px,1.5fr) minmax(100px,.7fr) minmax(92px,.6fr) minmax(120px,.8fr) 72px;gap:8px;align-items:center}.vxDashPlayersHead{padding:8px 14px;color:#70839a;font-size:8px;border-bottom:1px solid rgba(126,148,177,.1)}.vxDashPlayers{padding:0 12px 8px}.vxDashPlayerRow{min-height:46px;padding:4px 2px;border-bottom:1px solid rgba(126,148,177,.08);font-size:9px;color:#8799ad}.vxDashPlayerRow:last-child{border-bottom:0}.vxDashPlayerName{display:flex;align-items:center;gap:8px;min-width:0;border:0;background:none;color:inherit;text-align:left;cursor:pointer}.vxDashAvatar{display:grid;place-items:center;flex:0 0 28px;width:28px;height:28px;border-radius:50%;background:linear-gradient(135deg,#324158,#1a2739);color:#c9d5e3;font-size:8px;font-weight:900}.vxDashPlayerName span:nth-child(2){min-width:0}.vxDashPlayerName b{display:block;color:#dce6f2;font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.vxDashPlayerName small{display:block;color:#63768d;font-size:7px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.vxDashBadge{display:inline-flex;align-items:center;border-radius:5px;padding:2px 5px;font-size:7px;font-weight:900;letter-spacing:.03em}.vxDashBadge.is-ban{background:rgba(235,72,78,.16);color:#ff6e74}.vxDashBadge.is-external{background:rgba(232,89,64,.13);color:#ff967f}.vxDashBadge.is-watch{background:rgba(236,161,48,.14);color:#ffc35c}.vxDashPlayerActions{display:flex;gap:4px;justify-content:flex-end}.vxDashPlayerActions button{display:grid;place-items:center;width:25px;height:25px;border:1px solid rgba(118,140,170,.18);border-radius:7px;background:#101a27;color:#8fa1b7;cursor:pointer}.vxDashPlayerActions button:hover{color:#dce7f4;border-color:rgba(94,117,255,.5)}
.vxDashStats{display:grid;padding:5px 14px 10px}.vxDashStats>div{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:9px 0;border-bottom:1px solid rgba(126,148,177,.08)}.vxDashStats>div:last-child{border-bottom:0}.vxDashStats span{color:#8496aa;font-size:9px}.vxDashStats b{font-size:11px;color:#e3ebf5}
.vxDashEmpty{padding:18px;color:#73869d;font-size:9px;text-align:center}.vxDashEmpty.is-good{color:#58c98b}.vxDashError{padding:13px;border:1px solid rgba(239,68,68,.28);border-radius:10px;background:rgba(82,20,27,.12);color:#fb7c86}
.vxDashReadiness{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:11px 13px;border:1px solid rgba(230,160,57,.2);border-radius:12px;background:rgba(79,55,20,.1)}.vxDashReadiness.is-ok{border-color:rgba(55,190,119,.2);background:rgba(25,76,52,.09)}.vxDashReadiness span{display:block;color:#75889e;font-size:8px;text-transform:uppercase;letter-spacing:.09em}.vxDashReadiness b{display:block;margin-top:2px;font-size:10px}.vxDashReadiness small{display:block;margin-top:2px;color:#7f91a5;font-size:8px}.vxDashReadiness strong{color:#5bd18b}.vxDashReadiness button{border:1px solid rgba(231,169,74,.25);border-radius:8px;background:#1a1f27;color:#d8b06e;padding:6px 9px;font-size:8px;cursor:pointer}
@media(max-width:1100px){.vxDashKpis{grid-template-columns:repeat(2,1fr)}.vxDashMainGrid,.vxDashBottomGrid{grid-template-columns:1fr}.vxDashPlayersHead,.vxDashPlayerRow{grid-template-columns:minmax(190px,1.4fr) minmax(100px,.8fr) 100px 120px 64px}}
@media(max-width:720px){.vxDashTopline{flex-direction:column}.vxDashKpis{grid-template-columns:1fr 1fr}.vxDashFeedFilters{display:none}.vxDashPlayersHead{display:none}.vxDashPlayerRow{grid-template-columns:1fr auto}.vxDashPlayerRow>span{display:none}.vxDashPlayerActions{grid-column:2}.vxDashBottomGrid{display:block}.vxDashStatsPanel{margin-top:10px}}
@media(max-width:480px){.vxDashKpis{grid-template-columns:1fr}.vxDashAttentionItem{grid-template-columns:22px 1fr auto}.vxDashAttentionItem i{display:none}}

.vxDashServersPanel{margin:12px 0 14px;padding:14px;border:1px solid rgba(255,255,255,.07);border-radius:14px;background:rgba(8,11,16,.72)}
.vxDashServerStrip{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:8px}
.vxDashServerCard{display:flex;align-items:center;justify-content:space-between;gap:12px;text-align:left;padding:11px 12px;border-radius:10px;border:1px solid rgba(255,255,255,.08);background:#0c1118;color:#e8edf4;cursor:pointer}
.vxDashServerCard span{display:grid;gap:3px}.vxDashServerCard small{color:#7d8999;font-size:10px}.vxDashServerCard em{font-style:normal;font-size:10px;color:#94a2b4;white-space:nowrap}
.vxDashServerCard.is-online{border-color:rgba(72,193,126,.22)}.vxDashServerCard.is-warning{border-color:rgba(227,180,75,.35)}.vxDashServerCard.is-critical{border-color:rgba(235,82,98,.42);background:rgba(90,20,29,.15)}
.vxGlobalProblemsButton{margin-left:auto;border:1px solid rgba(226,177,68,.35);background:rgba(95,70,16,.18);color:#eac666;border-radius:8px;padding:7px 10px;font-weight:700;cursor:pointer;white-space:nowrap}
.vxGlobalProblemsButton.is-critical{border-color:rgba(235,82,98,.5);background:rgba(104,24,32,.25);color:#ff929e}
.vxServerCenterModal{position:fixed;inset:0;z-index:12000;background:rgba(2,5,9,.78);display:grid;place-items:center;padding:22px}.vxServerCenterModal[hidden]{display:none!important}
.vxServerCenterCard{position:relative;width:min(1080px,96vw);max-height:90vh;overflow:auto;background:#090d13;border:1px solid rgba(255,255,255,.11);border-radius:18px;padding:20px;box-shadow:0 32px 100px rgba(0,0,0,.7)}
.vxServerCenterClose{position:absolute;right:12px;top:8px;border:0;background:transparent;color:#8592a3;font-size:30px;cursor:pointer}
.vxServerCenterHead{display:flex;justify-content:space-between;gap:18px;align-items:flex-start;padding-right:36px}.vxServerCenterHead span{font-size:10px;color:#728094;font-weight:800;letter-spacing:.08em}.vxServerCenterHead h2{margin:3px 0;font-size:24px}.vxServerCenterHead p{margin:0;color:#7f8b9d;font-size:11px}.vxServerCenterHead>strong{border-radius:999px;padding:7px 10px;font-size:10px}.vxServerCenterHead .is-good,.vxServerHealthRow .is-good{color:#78dda0}.vxServerCenterHead .is-warn,.vxServerHealthRow .is-warn{color:#e9c66d}.vxServerCenterHead .is-bad,.vxServerHealthRow .is-bad{color:#ff8d99}
.vxServerCenterActions{display:flex;flex-wrap:wrap;gap:6px;margin:16px 0}.vxServerCenterActions button,.vxServerProblem button{border:1px solid rgba(255,255,255,.10);background:#111720;color:#dce4ee;border-radius:8px;padding:7px 10px;cursor:pointer}
.vxServerCenterStats{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:12px 0 16px}.vxServerCenterStats>div{display:grid;padding:12px;border-radius:10px;background:rgba(255,255,255,.035);border:1px solid rgba(255,255,255,.07)}.vxServerCenterStats span{font-size:10px;color:#7f8b9a}.vxServerCenterStats b{font-size:18px}
.vxServerCenterGrid{display:grid;grid-template-columns:minmax(300px,.85fr) minmax(360px,1.15fr);gap:12px}.vxServerCenterGrid>section,.vxServerFeedSection{border:1px solid rgba(255,255,255,.07);border-radius:12px;padding:14px;background:rgba(255,255,255,.02)}.vxServerCenterCard h3{font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:#9ba7b7;margin:0 0 10px}
.vxServerHealthRow{display:grid;grid-template-columns:1fr auto;gap:2px 10px;padding:8px 0;border-bottom:1px solid rgba(255,255,255,.05)}.vxServerHealthRow small{grid-column:1/3;color:#778393;font-size:9px}.vxServerHealthRow b{font-size:10px}
.vxServerProblem{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px;border-bottom:1px solid rgba(255,255,255,.06)}.vxServerProblem>div{display:grid;gap:3px}.vxServerProblem small{color:#7e8b9c;font-size:10px}.vxServerProblem.is-danger b{color:#ff909b}.vxServerProblem.is-warning b{color:#e6c36b}
.vxServerFeed{display:grid}.vxServerFeedRow{display:grid;grid-template-columns:95px 230px 1fr;gap:10px;text-align:left;border:0;border-bottom:1px solid rgba(255,255,255,.055);background:transparent;color:#e4e9ef;padding:9px 4px;cursor:pointer}.vxServerFeedRow time,.vxServerFeedRow span{font-size:10px;color:#7c8898}
@media(max-width:760px){.vxServerCenterGrid{grid-template-columns:1fr}.vxServerCenterStats{grid-template-columns:repeat(2,1fr)}.vxServerFeedRow{grid-template-columns:1fr}.vxServerCenterHead{flex-direction:column}}

.vxGlobalProblemsButton.is-ok{color:#72d69a;border-color:rgba(80,190,125,.34);background:rgba(48,145,88,.10)}
.brand .vxGlobalProblemsButton{margin-left:8px;flex:0 0 auto}

/* Product UX #26 — Owner Dashboard 2.0 */
.vxDashPulse{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;margin:0 0 10px;padding:12px 14px;border:1px solid rgba(83,197,132,.22);border-radius:13px;background:linear-gradient(90deg,rgba(34,126,78,.10),rgba(14,20,28,.66))}.vxDashPulse.is-warning{border-color:rgba(231,176,67,.30);background:linear-gradient(90deg,rgba(110,76,17,.14),rgba(14,20,28,.66))}.vxDashPulse.is-critical{border-color:rgba(238,84,97,.34);background:linear-gradient(90deg,rgba(116,28,39,.17),rgba(14,20,28,.66))}.vxDashPulseDot{width:9px;height:9px;border-radius:50%;background:#56d38b;box-shadow:0 0 0 5px rgba(86,211,139,.08)}.vxDashPulse.is-warning .vxDashPulseDot{background:#e8b858;box-shadow:0 0 0 5px rgba(232,184,88,.08)}.vxDashPulse.is-critical .vxDashPulseDot{background:#ff6977;box-shadow:0 0 0 5px rgba(255,105,119,.08)}.vxDashPulse small{display:block;color:#6f8298;font-size:8px;font-weight:900;letter-spacing:.10em}.vxDashPulse b{display:block;margin-top:2px;color:#e3ebf5;font-size:11px}.vxDashPulse p{margin:2px 0 0;color:#7f91a5;font-size:9px}.vxDashPulse button{border:1px solid rgba(255,255,255,.10);border-radius:8px;background:#111923;color:#dce6f2;padding:7px 10px;font-size:9px;cursor:pointer}
.vxDashQuick{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:7px;margin:0 0 12px}.vxDashQuick>button{display:flex;align-items:center;gap:9px;min-width:0;padding:10px;border:1px solid rgba(121,143,173,.12);border-radius:11px;background:rgba(11,17,25,.74);color:inherit;text-align:left;cursor:pointer}.vxDashQuick>button:hover{border-color:rgba(91,117,255,.34);background:rgba(39,54,79,.34)}.vxDashQuick>button>span{display:grid;place-items:center;flex:0 0 28px;width:28px;height:28px;border-radius:8px;background:rgba(93,117,255,.10);color:#9fb0ff;font-size:12px;font-weight:900}.vxDashQuick b{display:block;color:#dce6f2;font-size:9px}.vxDashQuick small{display:block;margin-top:2px;color:#6f8297;font-size:7px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.vxDashWatchPanel{margin-top:12px}.vxDashWatchSummary{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:10px 12px}.vxDashWatchSummary>div{display:flex;align-items:baseline;gap:8px;padding:10px 12px;border:1px solid rgba(234,170,65,.12);border-radius:10px;background:rgba(111,75,16,.06)}.vxDashWatchSummary b{font-size:19px;color:#ffc35c}.vxDashWatchSummary span{color:#7e90a4;font-size:8px}.vxDashWatchMini{display:grid;padding:0 12px 10px}.vxDashWatchMini>button{display:grid;grid-template-columns:22px 1fr auto;align-items:center;gap:8px;padding:9px 2px;border:0;border-bottom:1px solid rgba(126,148,177,.08);background:transparent;color:inherit;text-align:left;cursor:pointer}.vxDashWatchMini>button>span{color:#ffc35c}.vxDashWatchMini b{display:block;color:#dce6f2;font-size:9px}.vxDashWatchMini small{display:block;margin-top:2px;color:#71849a;font-size:8px}.vxDashWatchMini time{color:#70839a;font-size:8px}
@media(max-width:1100px){.vxDashQuick{grid-template-columns:repeat(3,1fr)}}@media(max-width:640px){.vxDashQuick{grid-template-columns:repeat(2,1fr)}.vxDashPulse{grid-template-columns:auto 1fr}.vxDashPulse button{grid-column:1/3}.vxDashWatchSummary{grid-template-columns:1fr}}

/* Product UX #27 — dashboard consistency pass */
body.vx-ds-v27 #vx-owner-dashboard-root :where(.vxOwnerDashboardSection, .vxOwnerDashboardPanel) {
  border-radius: var(--vx27-radius);
}
body.vx-ds-v27 #vx-owner-dashboard-root :where(button, a[role="button"]) {
  min-height: 36px;
}
