#vx-sa-console{display:block;margin-top:14px}.vxSaConsoleTabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:14px}.vxSaConsoleTabs button{border:1px solid rgba(255,255,255,.12);background:#171a20;color:#d7dbe4;border-radius:10px;padding:9px 14px;cursor:pointer}.vxSaConsoleTabs button.active{background:#2777ff;color:#fff;border-color:#2777ff}.vxSaConsoleGrid{display:grid;grid-template-columns:minmax(260px,330px) minmax(0,1fr);gap:14px;align-items:start}.vxSaMaster,.vxSaDetail{border:1px solid rgba(255,255,255,.1);background:rgba(12,15,20,.72);border-radius:14px;min-width:0}.vxSaMaster{position:sticky;top:82px;max-height:calc(100vh - 110px);overflow:hidden;display:flex;flex-direction:column}.vxSaMasterToolbar{padding:12px;border-bottom:1px solid rgba(255,255,255,.08);display:grid;gap:8px}.vxSaMasterToolbar input,.vxSaMasterToolbar select,.vxSaForm input,.vxSaForm select,.vxSaForm textarea{width:100%;box-sizing:border-box;background:#0d1015;border:1px solid rgba(255,255,255,.12);color:#eef1f7;border-radius:9px;padding:9px 10px}.vxSaMasterToolbarRow{display:flex;gap:8px}.vxSaMasterList{overflow:auto;padding:7px}.vxSaEntity{display:block;width:100%;text-align:left;border:0;border-radius:10px;background:transparent;color:#e7eaf0;padding:10px;cursor:pointer;margin:2px 0}.vxSaEntity:hover,.vxSaEntity.active{background:rgba(67,123,255,.16)}.vxSaEntityTop{display:flex;align-items:center;gap:7px;min-width:0}.vxSaEntityName{font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vxSaEntityMeta{font-size:12px;color:#9199a9;margin-top:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vxSaDot{width:8px;height:8px;border-radius:50%;background:#6c7482;flex:0 0 auto}.vxSaDot.ok{background:#32c86e}.vxSaDot.bad{background:#f15454}.vxSaDot.warn{background:#f0ad3d}.vxSaChip{font-size:11px;border-radius:999px;padding:2px 7px;background:#252a34;color:#bfc6d4;white-space:nowrap}.vxSaChip.blue{background:rgba(39,119,255,.2);color:#83b4ff}.vxSaChip.red{background:rgba(241,84,84,.16);color:#ff9696}.vxSaChip.green{background:rgba(50,200,110,.16);color:#78e6a8}.vxSaDetail{padding:14px;min-height:430px}.vxSaHero{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;padding:3px 2px 14px;border-bottom:1px solid rgba(255,255,255,.08)}.vxSaHero h3{font-size:20px;margin:0}.vxSaHeroSub{color:#929aaa;font-size:13px;margin-top:5px}.vxSaHeroActions{display:flex;gap:7px;flex-wrap:wrap;justify-content:flex-end}.vxSaBtn{border:1px solid rgba(255,255,255,.12);background:#1a1f28;color:#e7ebf3;border-radius:9px;padding:7px 10px;cursor:pointer}.vxSaBtn:hover{background:#232a36}.vxSaBtn.primary{background:#2777ff;border-color:#2777ff;color:#fff}.vxSaBtn.danger{background:rgba(209,55,55,.15);border-color:rgba(240,74,74,.45);color:#ff9a9a}.vxSaBtn.warn{background:rgba(225,151,40,.14);border-color:rgba(225,151,40,.4);color:#ffc46e}.vxSaInnerTabs{display:flex;gap:6px;overflow:auto;padding:12px 0 10px}.vxSaInnerTabs button{white-space:nowrap;border:0;background:#181c24;color:#aab1bf;border-radius:8px;padding:7px 10px;cursor:pointer}.vxSaInnerTabs button.active{background:#2b3442;color:#fff}.vxSaPanel{display:none}.vxSaPanel.active{display:block}.vxSaStats{display:grid;grid-template-columns:repeat(auto-fit,minmax(145px,1fr));gap:9px}.vxSaStat{background:#12161d;border:1px solid rgba(255,255,255,.07);border-radius:10px;padding:10px}.vxSaStatLabel{font-size:11px;color:#858e9f}.vxSaStatValue{font-size:15px;font-weight:650;margin-top:4px;word-break:break-word}.vxSaSection{margin-top:12px;background:#11151c;border:1px solid rgba(255,255,255,.07);border-radius:11px;padding:12px}.vxSaSectionTitle{font-weight:700;margin-bottom:9px}.vxSaRows{display:grid;gap:7px}.vxSaRow{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px;border-radius:8px;background:#151a22}.vxSaRowMain{min-width:0}.vxSaRowTitle{font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vxSaRowSub{font-size:12px;color:#8e97a7;margin-top:3px;word-break:break-all}.vxSaRowActions{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}.vxSaForm{display:grid;gap:9px}.vxSaFormGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.vxSaChecks{display:flex;flex-wrap:wrap;gap:10px}.vxSaChecks label{display:flex;align-items:center;gap:6px}.vxSaChecks input{width:auto}.vxSaDanger{border-color:rgba(239,72,72,.28);background:rgba(100,20,20,.10)}.vxSaDanger .vxSaSectionTitle{color:#ff9191}.vxSaEmpty{padding:28px 10px;text-align:center;color:#8f98a7}.vxSaHistory{display:grid;gap:7px}.vxSaHistoryItem{border-left:2px solid #343c49;padding:7px 9px;background:#12161c;border-radius:0 8px 8px 0}.vxSaHistoryTop{display:flex;gap:8px;justify-content:space-between}.vxSaHistoryText{font-size:13px}.vxSaHistoryMeta{font-size:11px;color:#7f8898;margin-top:3px}.vxSaSocialTechnical{margin-top:7px;padding-top:7px;border-top:1px solid rgba(255,255,255,.07);font-size:12px;color:#8c95a6;display:none;white-space:pre-wrap;word-break:break-word}.vxSaSocialTechnical.open{display:block}.vxSaReferences{display:none}.vxSaReferences.active{display:block}.vxSaLoading{opacity:.65;pointer-events:none}.vxSaSuspended{color:#ffba62}.vxSaCopy{font-family:monospace}.vxSaModal{position:fixed;inset:0;background:rgba(0,0,0,.62);z-index:10050;display:flex;align-items:center;justify-content:center;padding:18px}.vxSaModal.hidden{display:none}.vxSaModalCard{width:min(560px,100%);max-height:85vh;overflow:auto;background:#151922;border:1px solid rgba(255,255,255,.14);border-radius:14px;padding:16px}.vxSaModalCard h3{margin:0 0 12px}.vxSaModalActions{display:flex;justify-content:flex-end;gap:8px;margin-top:12px}
@media(max-width:900px){.vxSaConsoleGrid{grid-template-columns:1fr}.vxSaMaster{position:relative;top:auto;max-height:420px}.vxSaFormGrid{grid-template-columns:1fr}.vxSaHero{flex-direction:column}.vxSaHeroActions{justify-content:flex-start}}

/* SA console extensions: audit / permissions / performance / changelog */
.vxSaStandalone{border:1px solid rgba(255,255,255,.1);background:rgba(12,15,20,.72);border-radius:14px;padding:14px;min-width:0}
.vxSaToolbar{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-bottom:12px}.vxSaToolbar input,.vxSaToolbar select{min-width:150px;flex:1 1 170px;background:#0d1015;border:1px solid rgba(255,255,255,.12);color:#eef1f7;border-radius:9px;padding:9px 10px;box-sizing:border-box}.vxSaAuditToolbar input{min-width:190px}.vxSaAuditToolbar select{flex:0 1 180px}
.vxSaPermissionGrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:9px}.vxSaPermission{border:1px solid rgba(255,255,255,.08);background:#12161d;border-radius:10px;padding:10px}.vxSaPermission.allow{border-color:rgba(50,200,110,.28)}.vxSaPermission.deny{border-color:rgba(241,84,84,.25)}.vxSaPermissionHead{display:flex;align-items:center;justify-content:space-between;gap:8px}.vxSaPermissionHead b{font-size:13px}.vxSaPermissionState{font-size:11px;border-radius:999px;padding:2px 7px}.vxSaPermission.allow .vxSaPermissionState{background:rgba(50,200,110,.15);color:#75e6a4}.vxSaPermission.deny .vxSaPermissionState{background:rgba(241,84,84,.14);color:#ff9696}.vxSaPermTags{display:flex;gap:5px;flex-wrap:wrap;margin-top:7px}.vxSaPermTag{font-size:10px;padding:2px 6px;border-radius:999px;background:#242a34;color:#aeb7c7}.vxSaPermissionReason{font-size:11px;color:#929aaa;margin-top:6px}
.vxSaAuditDetails{margin-top:7px}.vxSaAuditDetails summary{cursor:pointer;color:#9ebdff;font-size:12px}.vxSaAuditDetails>div{margin-top:7px}.vxSaAuditDetails pre{margin:4px 0 0;max-height:260px;overflow:auto;white-space:pre-wrap;word-break:break-word;background:#0c1016;border:1px solid rgba(255,255,255,.07);border-radius:8px;padding:8px;color:#cbd2df;font:11px/1.45 ui-monospace,SFMono-Regular,Consolas,monospace}
.vxSaPager{display:flex;justify-content:center;align-items:center;gap:10px;margin-top:12px;color:#9aa3b2}.vxSaPager button:disabled{opacity:.35;cursor:default}
.vxSaTableWrap{overflow:auto;border-radius:9px;border:1px solid rgba(255,255,255,.06)}.vxSaTable{width:100%;border-collapse:collapse;min-width:720px}.vxSaTable th,.vxSaTable td{text-align:left;padding:8px 10px;border-bottom:1px solid rgba(255,255,255,.06);font-size:12px}.vxSaTable th{position:sticky;top:0;background:#151a22;color:#9fa8b8;z-index:1}.vxSaTable tr:last-child td{border-bottom:0}.vxSaTable code{color:#dce4f5}.vxSaTable tr.warn td{background:rgba(224,153,42,.06)}.vxSaTable tr.bad td{background:rgba(241,84,84,.07)}
.vxSaConsoleTabs{overflow-x:auto;scrollbar-width:thin}.vxSaConsoleTabs button{flex:0 0 auto}.vxSaReferences.active{display:grid;gap:14px}.vxSaReferences>.sa-header.vxCompactSection{margin:0!important;width:auto!important;max-width:none!important}
@media(max-width:700px){.vxSaToolbar{display:grid;grid-template-columns:1fr}.vxSaToolbar input,.vxSaToolbar select{min-width:0;width:100%}.vxSaPermissionGrid{grid-template-columns:1fr}}
.vxSaPermTag.allow{background:rgba(50,200,110,.14);color:#7ce5a6}.vxSaPermTag.deny{background:rgba(241,84,84,.13);color:#ff9494}

/* v21: native references + structured changelog editor */
.vxSaRefGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:14px}.vxSaRefCard{min-width:0;padding:12px;border:1px solid rgba(255,255,255,.08);border-radius:12px;background:#11151c}.vxSaRefHead{display:flex;align-items:center;justify-content:space-between;gap:12px}.vxSaRefHead>div{min-width:0}.vxSaRefHead b{display:block}.vxSaRefHead small{display:block;margin-top:3px;color:#8993a4;font-size:11px;line-height:1.4}.vxSaRefSearch{width:100%;box-sizing:border-box;margin:10px 0;background:#0d1015;border:1px solid rgba(255,255,255,.12);color:#eef1f7;border-radius:9px;padding:9px 10px}.vxSaRefCard code{color:#8cbcff}.vxSaChangeItemsEditor{padding:12px;border:1px solid rgba(255,255,255,.08);border-radius:11px;background:#11151c}.vxSaChangeItems{display:grid;gap:8px;margin-top:10px}.vxSaChangeItemRow{display:grid;grid-template-columns:145px minmax(0,1fr) auto;gap:8px;align-items:start;padding:8px;border:1px solid rgba(255,255,255,.07);border-radius:9px;background:#151a22}.vxSaChangeItemRow select,.vxSaChangeItemRow textarea{width:100%;box-sizing:border-box;background:#0d1015;border:1px solid rgba(255,255,255,.12);color:#eef1f7;border-radius:8px;padding:8px 9px}.vxSaChangeItemActions{display:flex;gap:5px}.vxSaChangePreview{display:grid;gap:3px;margin-top:7px}.vxSaChangePreview>span{display:flex;align-items:flex-start;gap:7px;color:#b7bfcc;font-size:11px;line-height:1.35}.vxSaChangePreview>span>b{flex:0 0 auto;padding:1px 5px;border-radius:999px;font-size:9px;letter-spacing:.03em}.vxSaChangePreview .is-new{background:rgba(50,200,110,.14);color:#7ce5a6}.vxSaChangePreview .is-fixed{background:rgba(57,133,255,.16);color:#8bb9ff}.vxSaChangePreview .is-important{background:rgba(241,84,84,.15);color:#ff9b9b}.vxSaChangePreview .is-changed{background:rgba(225,151,40,.15);color:#ffc46e}.vxSaChangePreview>small{color:#7f8898;font-size:10px}
@media(max-width:900px){.vxSaRefGrid{grid-template-columns:1fr}.vxSaChangeItemRow{grid-template-columns:1fr}.vxSaChangeItemActions{justify-content:flex-end}}
.vxSaCheckLine{display:flex!important;align-items:center;gap:8px}.vxSaCheckLine input{width:auto!important;flex:0 0 auto}

/* Logs constructor SA */
.vxLogCtorHint{margin:14px 0;padding:12px 14px;border:1px solid rgba(39,119,255,.24);background:rgba(39,119,255,.08);border-radius:12px;display:grid;gap:4px}.vxLogCtorHint span{color:#9aa6ba;font-size:13px}.vxLogCtorAdminGrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:12px;margin-top:12px}.vxLogCtorAdminCard{overflow:hidden;border:1px solid rgba(255,255,255,.1);background:#11151c;border-radius:13px}.vxLogCtorAdminCard.is-disabled{opacity:.72}.vxLogCtorPreview{aspect-ratio:16/8;background:#090c11;border-bottom:1px solid rgba(255,255,255,.08);display:flex;align-items:center;justify-content:center;overflow:hidden}.vxLogCtorPreview img{width:100%;height:100%;object-fit:cover;display:block}.vxLogCtorNoPreview{color:#697386;font-size:12px;text-align:center;padding:18px}.vxLogCtorAdminBody{padding:12px;display:grid;gap:10px}.vxLogCtorAdminTitle{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.vxLogCtorAdminTitle>div{display:grid;gap:4px}.vxLogCtorAdminTitle code,.vxLogCtorEditorType code{font-size:11px;color:#7d8ba3}.vxLogCtorAdminBody p{margin:0;color:#a3adbd;font-size:13px;line-height:1.45;min-height:38px}.vxLogCtorMeta{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}.vxLogCtorMeta span{background:#151a22;border-radius:8px;padding:7px;min-width:0}.vxLogCtorMeta small{display:block;color:#727c8e;font-size:10px}.vxLogCtorMeta b{display:block;margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vxLogCtorEditorType{display:flex;align-items:center;justify-content:space-between;padding:10px;background:#10141b;border-radius:9px}.vxLogCtorUpload{display:grid;grid-template-columns:minmax(170px,230px) 1fr;gap:12px;align-items:center}.vxLogCtorUpload>div{aspect-ratio:16/9;background:#0a0d12;border:1px solid rgba(255,255,255,.08);border-radius:9px;overflow:hidden;display:flex;align-items:center;justify-content:center}.vxLogCtorUpload img{width:100%;height:100%;object-fit:cover}.vxLogCtorUpload small{display:block;color:#7f899a;margin-top:5px}.vxSaCheckLine{display:flex!important;align-items:center;gap:8px}.vxSaCheckLine input{width:auto!important}
@media(max-width:720px){.vxLogCtorAdminGrid{grid-template-columns:1fr}.vxLogCtorUpload{grid-template-columns:1fr}.vxLogCtorMeta{grid-template-columns:1fr 1fr}}

/* Platform add-ons in the project subscription editor */
.vxSaAddonHint{margin:0 0 10px;color:#8e98aa;font-size:12px;line-height:1.45}
.vxSaAddonGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.vxSaAddonCard{display:grid;gap:10px;min-width:0;padding:12px;border:1px solid rgba(124,92,252,.22);border-radius:11px;background:linear-gradient(145deg,rgba(35,28,62,.38),rgba(17,21,28,.88))}
.vxSaAddonCard header{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}
.vxSaAddonCard header b,.vxSaAddonCard header small{display:block}.vxSaAddonCard header small{margin-top:4px;color:#919bad;font-size:11px;line-height:1.4}
.vxSaAddonControls{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px}
.vxSaAddonControls label{display:grid;gap:5px;color:#aab4c4;font-size:11px}
.vxSaAddonControls input,.vxSaAddonControls select{width:100%;box-sizing:border-box;background:#0d1015;border:1px solid rgba(255,255,255,.12);color:#eef1f7;border-radius:9px;padding:8px 9px}
.vxSaAddonMeta{color:#8e97a7;font-size:11px;line-height:1.4}.vxSaAddonIncluded{padding:9px 10px;border:1px solid rgba(124,92,252,.25);border-radius:9px;background:rgba(124,92,252,.1);color:#d9ceff;font-size:12px}
@media(max-width:840px){.vxSaAddonGrid,.vxSaAddonControls{grid-template-columns:1fr}}

/* Ticket module entitlement visibility in SA */
.vxSaTicketPlanInfo{display:grid;gap:4px;margin:10px 0 12px;padding:11px 12px;border:1px solid rgba(91,142,255,.24);border-radius:10px;background:rgba(55,104,210,.08)}
.vxSaTicketPlanInfo.warn{border-color:rgba(225,151,40,.26);background:rgba(225,151,40,.07)}
.vxSaTicketPlanInfo b{font-size:12px;color:#e5ebf7}.vxSaTicketPlanInfo span{font-size:11px;line-height:1.45;color:#9da8ba}
.vxSaTicketGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
.vxSaTicketCard{display:grid;gap:9px;min-width:0;padding:11px;border:1px solid rgba(255,255,255,.08);border-radius:11px;background:#11151c}
.vxSaTicketCard.is-active{border-color:rgba(50,200,110,.23)}
.vxSaTicketCard header{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}.vxSaTicketCard header>div{display:grid;gap:2px}.vxSaTicketCard header b{font-size:13px}.vxSaTicketCard header code{font-size:10px;color:#788398}
.vxSaTicketFacts{display:grid;gap:3px}.vxSaTicketFacts span{font-size:11px;line-height:1.4;color:#99a4b5}.vxSaTicketFacts span:before{content:'•';margin-right:6px;color:#66758f}
.vxSaTicketControls{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:7px;align-items:end}.vxSaTicketControls label{display:grid;gap:4px;color:#8f9aac;font-size:10px}.vxSaTicketControls input{width:100%;box-sizing:border-box;background:#0d1015;border:1px solid rgba(255,255,255,.12);color:#eef1f7;border-radius:8px;padding:7px 8px}
.vxSaTicketPaidLock{padding:8px 9px;border-radius:8px;background:rgba(50,200,110,.07);color:#8ebca0;font-size:10px;line-height:1.4}
@media(max-width:900px){.vxSaTicketGrid{grid-template-columns:1fr}.vxSaTicketControls{grid-template-columns:1fr 1fr}.vxSaTicketControls label{grid-column:1/-1}}

/* VX Ban-list verification / SA */
.vxSaBanFilters{display:grid;grid-template-columns:minmax(220px,1.6fr) repeat(4,minmax(150px,1fr));gap:8px;margin:12px 0}.vxSaBanFilters input,.vxSaBanFilters select{min-width:0}.vxSaBanGrid{min-height:620px}.vxSaVerifyCriteria{display:grid;gap:8px}.vxSaVerifyCriterion{display:flex;gap:10px;align-items:flex-start;padding:10px 12px;border:1px solid rgba(255,255,255,.08);border-radius:10px;background:rgba(255,255,255,.025)}.vxSaVerifyCriterion>span{width:22px;height:22px;display:grid;place-items:center;border-radius:50%;font-weight:900;flex:0 0 22px}.vxSaVerifyCriterion.ok>span{background:rgba(34,197,94,.14);color:#86efac}.vxSaVerifyCriterion.bad>span{background:rgba(239,68,68,.14);color:#fca5a5}.vxSaVerifyCriterion b{display:block}.vxSaVerifyCriterion small{display:block;margin-top:3px;opacity:.65}.vxSaChip.warn{background:rgba(245,158,11,.14);border-color:rgba(245,158,11,.28);color:#fbbf24}.vxSaBanAdmin .vxSaTable td{vertical-align:top}.vxSaBanAdmin .vxSaHistory{max-height:360px;overflow:auto}.vxSaBanAdmin .vxSaMasterList{max-height:680px;overflow:auto}
@media(max-width:1180px){.vxSaBanFilters{grid-template-columns:1fr 1fr}.vxSaBanFilters input{grid-column:1/-1}}@media(max-width:720px){.vxSaBanFilters{grid-template-columns:1fr}}
.vxSaEvidenceLinks{display:grid;gap:4px;margin-top:6px;min-width:180px}.vxSaEvidenceLinks a{font-size:11px;overflow-wrap:anywhere}.vxSaBanFilters{grid-template-columns:minmax(220px,1.6fr) repeat(5,minmax(145px,1fr))}

/* Trial conversion analytics */
.vxTrialFunnel{padding:8px 0}.vxTrialStep{display:grid;grid-template-columns:210px minmax(180px,1fr) 60px;gap:12px;align-items:center;padding:9px 2px}.vxTrialStep>div:first-child{display:flex;justify-content:space-between;gap:8px}.vxTrialStep small{color:#7f8796}.vxTrialBar{height:20px;background:#121823;border:1px solid #242c39;border-radius:5px;overflow:hidden}.vxTrialBar i{display:block;height:100%;background:linear-gradient(90deg,#315f9f,#4a83cb);border-radius:4px}.vxTrialDrop{font-size:10px;color:#9b6e72;text-align:right}@media(max-width:900px){.vxTrialStep{grid-template-columns:1fr}.vxTrialDrop{text-align:left}}

.vxSaSubTitle{margin:13px 0 7px;font-size:12px;font-weight:800;color:#aeb7c7;text-transform:uppercase;letter-spacing:.06em}
.vxSaPermissionEditor{grid-column:1/-1}
.vxSaMasterSwitch{display:flex;align-items:center;gap:8px;margin-top:10px;padding:9px 10px;border:1px solid rgba(255,255,255,.08);border-radius:9px;background:#0f1319}
.vxSaMasterSwitch input,.vxSaPermGroupHead input,.vxSaPermCheck input{width:auto;accent-color:#3f86ff}
.vxSaPermGroups{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:8px;margin-top:10px}
.vxSaPermGroup{border:1px solid rgba(255,255,255,.08);background:#0f1319;border-radius:9px;padding:9px}
.vxSaPermGroupHead{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:7px}
.vxSaPermGroupHead label{display:flex;align-items:center;gap:7px;cursor:pointer}
.vxSaPermGroupHead span{font-size:10px;color:#8e97a7}
.vxSaPermCheckGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px}
.vxSaPermCheckGrid.server{grid-template-columns:repeat(3,minmax(150px,1fr));margin-top:8px}
.vxSaPermCheck{display:flex;align-items:center;gap:7px;padding:6px 7px;border-radius:7px;background:#151a22;color:#cdd3de;font-size:11px;cursor:pointer;border:1px solid transparent}
.vxSaPermCheck:hover{border-color:rgba(63,134,255,.35)}
.vxSaPermCheck.disabled{opacity:.55;cursor:default}
.vxSaEditorActions{display:flex;justify-content:flex-end;margin-top:10px}
.vxSaServerPermissionEditor{align-items:flex-start}
.vxSaServerPermissionEditor .vxSaRowMain{flex:1}
.vxSaProjectPermissionSection{border-color:rgba(63,134,255,.18)}
@media(max-width:900px){.vxSaPermCheckGrid.server{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){.vxSaPermCheckGrid,.vxSaPermCheckGrid.server{grid-template-columns:1fr}.vxSaServerPermissionEditor{display:block}.vxSaServerPermissionEditor .vxSaRowActions{margin-top:9px;justify-content:flex-start}}

.vxSaInspectorGrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:8px}.vxSaInspectorCard{padding:10px;border:1px solid rgba(255,255,255,.08);border-radius:10px;background:#141921}.vxSaInspectorCard.is-ok{border-color:rgba(50,200,110,.2)}.vxSaInspectorCard.has-problem{border-color:rgba(240,173,61,.28)}.vxSaInspectorCard span,.vxSaInspectorCard small{display:block}.vxSaInspectorCard span{font-size:11px;color:#8791a2}.vxSaInspectorCard b{display:block;margin-top:4px;font-size:13px}.vxSaInspectorCard small{margin-top:5px;color:#7f8999;font-size:10px;line-height:1.45}.vxSaInspectorIssues{display:grid;gap:5px;margin-top:10px}.vxSaInspectorIssues>div{display:grid;grid-template-columns:minmax(130px,.7fr) minmax(0,1.3fr);gap:8px;padding:7px 8px;border-radius:8px;background:rgba(231,153,45,.07)}.vxSaInspectorIssues b{font-size:12px}.vxSaInspectorIssues span{font-size:11px;color:#a9b1bf}

.vxSaUserQuickFilters{display:grid;grid-template-columns:1fr 1fr;gap:8px}.vxSaUserQuickFilters select{min-width:0}@media(max-width:760px){.vxSaUserQuickFilters{grid-template-columns:1fr}}

/* Entitlement audit: factual backend-computed project rights. */
.vxSaEntGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:12px}
.vxSaEntCard{border:1px solid rgba(255,255,255,.09);background:rgba(9,13,22,.72);border-radius:14px;padding:12px;min-width:0}
.vxSaEntCard>header{display:flex;align-items:center;justify-content:space-between;padding-bottom:9px;margin-bottom:4px;border-bottom:1px solid rgba(255,255,255,.07)}
.vxSaEntRow{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:34px;border-bottom:1px solid rgba(255,255,255,.045)}
.vxSaEntRow:last-child{border-bottom:0}
.vxSaEntRow code{font-size:11px;color:rgba(235,241,255,.68);overflow-wrap:anywhere}
.vxSaEntRow>span:not(.vxSaChip){font-size:12px;color:#eef3ff;text-align:right;overflow-wrap:anywhere}
@media(max-width:900px){.vxSaEntGrid{grid-template-columns:1fr}}

.vxSaServerToolbar{display:flex;align-items:center;justify-content:space-between;gap:12px}.vxSaServerToolbar .vxSaSectionTitle{margin-bottom:2px}@media(max-width:720px){.vxSaServerToolbar{align-items:stretch;flex-direction:column}.vxSaServerToolbar .vxSaBtn{width:100%}}

/* VX Logs ingest diagnostics */
.vxSaLogsDiagFilters{display:grid;grid-template-columns:160px minmax(200px,1fr) minmax(220px,1.4fr) 190px;gap:9px;margin:12px 0 14px}.vxSaLogsDiagFilters label{display:grid;gap:5px;color:#8f99aa;font-size:10px;text-transform:uppercase;letter-spacing:.04em}.vxSaLogsDiagFilters input,.vxSaLogsDiagFilters select{width:100%;box-sizing:border-box;background:#0d1117;border:1px solid rgba(255,255,255,.11);color:#eef2f8;border-radius:9px;padding:9px 10px}.vxLogsDiagSummary{grid-template-columns:repeat(6,minmax(125px,1fr))}.vxLogsDiagSummary .vxSaStat small{display:block;margin-top:5px;color:#7f8999;font-size:9px}.vxLogsDiagLegend{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin:10px 0 12px;padding:9px 11px;border:1px solid rgba(255,255,255,.07);border-radius:10px;background:#0d1117;color:#8f99aa;font-size:10px}.vxLogsDiagLegend span{display:flex;align-items:center;gap:6px}.vxLogsDiagLegend i{width:8px;height:8px;border-radius:50%;display:inline-block}.vxLogsDiagLegend i.ok{background:#39c77a}.vxLogsDiagLegend i.warn{background:#e1a33b}.vxLogsDiagLegend i.bad{background:#ec5a67}.vxLogsDiagLegend b{margin-left:auto;color:#aeb7c5;font-weight:600}.vxLogsDiagGrid{display:grid;gap:10px}.vxLogsDiagCard{border:1px solid rgba(255,255,255,.08);border-radius:13px;background:#0f141c;overflow:hidden}.vxLogsDiagCard.is-error{border-color:rgba(236,90,103,.34)}.vxLogsDiagCard.is-warning{border-color:rgba(225,163,59,.28)}.vxLogsDiagCard.is-ok{border-color:rgba(57,199,122,.18)}.vxLogsDiagCard>header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:13px 14px 10px;border-bottom:1px solid rgba(255,255,255,.055)}.vxLogsDiagTitle{display:flex;align-items:center;gap:8px}.vxLogsDiagTitle h4{margin:0;font-size:14px}.vxLogsDiagCard header p{margin:5px 0 3px;color:#9ca6b5;font-size:11px}.vxLogsDiagCard header code{font-size:9px;color:#657084;overflow-wrap:anywhere}.vxLogsDiagHeartbeat{display:grid;gap:4px;text-align:right;color:#7f8999;font-size:10px}.vxLogsDiagHeartbeat b{color:#d7deea}.vxLogsDiagIssues{display:grid;gap:5px;padding:9px 14px 0}.vxLogsDiagIssues>div{display:grid;grid-template-columns:160px minmax(0,1fr);gap:8px;padding:7px 9px;border-radius:8px;font-size:10px}.vxLogsDiagIssues .bad{background:rgba(236,90,103,.08);border:1px solid rgba(236,90,103,.16)}.vxLogsDiagIssues .warn{background:rgba(225,163,59,.07);border:1px solid rgba(225,163,59,.14)}.vxLogsDiagIssues b{font-size:10px}.vxLogsDiagIssues span{color:#aeb6c4;line-height:1.4}.vxLogsDiagHealthy{margin:9px 14px 0;padding:8px 10px;border-radius:8px;background:rgba(57,199,122,.07);color:#8bd7ae;font-size:10px}.vxLogsDiagMetricGrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;background:rgba(255,255,255,.055);margin-top:10px;border-top:1px solid rgba(255,255,255,.055);border-bottom:1px solid rgba(255,255,255,.055)}.vxLogsDiagMetricGrid>span{display:grid;gap:3px;padding:10px 12px;background:#10161f;min-width:0}.vxLogsDiagMetricGrid small{color:#7e899b;font-size:9px;text-transform:uppercase;letter-spacing:.04em}.vxLogsDiagMetricGrid b{font-size:15px}.vxLogsDiagMetricGrid em{font-style:normal;color:#8994a6;font-size:9px;overflow-wrap:anywhere}.vxLogsDiagMore{margin:9px 14px 11px}.vxLogsDiagDetails{border-top:1px solid rgba(255,255,255,.06);padding:12px 14px 14px;background:#0b1017}.vxLogsDiagDetailGrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}.vxLogsDiagDetailGrid section{border:1px solid rgba(255,255,255,.07);border-radius:9px;padding:10px;background:#0e141d;min-width:0}.vxLogsDiagDetailGrid h5,.vxLogsDiagReasons h5{margin:0 0 8px;font-size:11px;color:#d7deea}.vxLogsDiagDetailGrid dl{margin:0;display:grid;grid-template-columns:minmax(90px,.8fr) minmax(0,1.2fr);gap:5px 7px}.vxLogsDiagDetailGrid dt{color:#778296;font-size:9px}.vxLogsDiagDetailGrid dd{margin:0;color:#c8d0dc;font-size:10px;overflow-wrap:anywhere}.vxLogsDiagDetailGrid code{font-size:9px}.vxLogsDiagReasons{margin-top:10px}.vxLogsDiagReasons .vxSaTable{font-size:10px}.vxLogsDiagReasons td code{display:block;margin-top:2px;font-size:8px;color:#687488}.vxSaChip.warn{background:rgba(225,163,59,.12);border-color:rgba(225,163,59,.28);color:#f0bb5d}
@media(max-width:1180px){.vxLogsDiagSummary{grid-template-columns:repeat(3,1fr)}.vxLogsDiagMetricGrid,.vxLogsDiagDetailGrid{grid-template-columns:repeat(2,minmax(0,1fr))}.vxSaLogsDiagFilters{grid-template-columns:1fr 1fr}}@media(max-width:720px){.vxSaLogsDiagFilters,.vxLogsDiagSummary,.vxLogsDiagMetricGrid,.vxLogsDiagDetailGrid{grid-template-columns:1fr}.vxLogsDiagCard>header{display:block}.vxLogsDiagHeartbeat{text-align:left;margin-top:8px}.vxLogsDiagIssues>div{grid-template-columns:1fr}.vxLogsDiagLegend b{margin-left:0;width:100%}}

/* Agent diagnostics */
.vxAgentDiagSummary{margin-bottom:14px}.vxAgentDiagGrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(360px,1fr));gap:12px}.vxAgentDiagCard{border:1px solid var(--vx-border,#2a3449);border-radius:14px;padding:14px;background:rgba(10,15,27,.72)}.vxAgentDiagCard.is-error{border-color:rgba(239,68,68,.5)}.vxAgentDiagCard.is-warn{border-color:rgba(245,158,11,.45)}.vxAgentDiagCard.is-ok{border-color:rgba(34,197,94,.32)}.vxAgentDiagCard header{display:flex;justify-content:space-between;gap:10px}.vxAgentDiagCard header>div{display:grid;gap:3px}.vxAgentDiagCard header small{color:#8995aa}.vxAgentDiagFacts{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin:12px 0}.vxAgentDiagFacts span{padding:8px;border-radius:9px;background:rgba(255,255,255,.035);display:grid;gap:2px}.vxAgentDiagFacts small{color:#8995aa}.vxAgentDiagProblems{display:grid;gap:6px}.vxAgentDiagProblems>div{padding:8px 10px;border-radius:8px;display:grid;gap:2px}.vxAgentDiagProblems .bad{background:rgba(239,68,68,.1);color:#fca5a5}.vxAgentDiagProblems .warn{background:rgba(245,158,11,.1);color:#fcd34d}.vxAgentDiagProblems span{font-size:12px}.vxAgentDiagBusy{margin:8px 0;padding:8px 10px;background:rgba(245,158,11,.1);color:#fbbf24;border-radius:8px}.vxAgentDiagCard details{margin-top:10px}.vxAgentDiagCard pre{max-height:320px;overflow:auto;font-size:11px;white-space:pre-wrap}@media(max-width:700px){.vxAgentDiagGrid{grid-template-columns:1fr}.vxAgentDiagFacts{grid-template-columns:repeat(2,1fr)}}
