.vxShopsPage{padding:0!important;background:transparent!important;border:0!important}.vxShopsRoot{display:grid;gap:14px}.vxsHero,.vxsTop,.vxsPanel,.vxsCard{border:1px solid rgba(255,255,255,.08);background:rgba(16,20,29,.92);border-radius:16px}.vxsHero{padding:22px;display:flex;align-items:center;justify-content:space-between;gap:18px}.vxsHero h2,.vxsTop h2{margin:4px 0}.vxsHero p{max-width:760px;color:#9ca7b8}.vxsHero button,.vxsPanel button,.vxsTop button{border:1px solid rgba(118,95,255,.5);background:rgba(118,95,255,.16);color:#f3f5ff;padding:9px 12px;border-radius:10px;cursor:pointer}.vxsGrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px}.vxsCard{padding:16px;display:grid;gap:9px;cursor:pointer}.vxsCard:hover{border-color:rgba(118,95,255,.45)}.vxsCard span,.vxsHint,.vxsDns span{color:#8f9aab;font-size:12px}.vxsCard div{display:flex;gap:8px;flex-wrap:wrap}.vxsCard i{font-style:normal;font-size:11px;padding:4px 7px;background:rgba(255,255,255,.05);border-radius:999px}.vxsTop{padding:14px 18px;display:flex;gap:14px;align-items:center}.vxsTop>div{flex:1}.vxsStatus{font-size:11px;border:1px solid rgba(73,211,132,.25);color:#87e3ad;padding:5px 8px;border-radius:999px}.vxsTabs{display:flex;gap:6px;overflow:auto;padding:3px}.vxsTabs button{white-space:nowrap;border:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.03);color:#aeb7c5;padding:8px 10px;border-radius:9px}.vxsTabs button.on{color:white;border-color:rgba(118,95,255,.45);background:rgba(118,95,255,.12)}.vxsCols{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.vxsPanel{padding:16px;display:grid;gap:11px}.vxsPanel h3{margin:0 0 2px}.vxsPanel label{display:grid;gap:5px;color:#aeb7c5;font-size:12px}.vxsPanel input,.vxsPanel select,.vxsPanel textarea{background:#0f141d;border:1px solid rgba(255,255,255,.09);border-radius:9px;color:#fff;padding:9px}.vxsRow{display:flex;align-items:center;gap:10px;padding:9px 0;border-bottom:1px solid rgba(255,255,255,.06)}.vxsRow b{flex:1}.vxsRow span{color:#8f9aab;font-size:11px}.vxsRow button{font-size:11px;padding:5px 7px}.vxsDns{display:grid;gap:5px;padding:12px;border:1px dashed rgba(118,95,255,.3);border-radius:11px}.vxsDns code{color:#c7cfff}.vxsEmpty{color:#8f9aab;padding:24px;text-align:center}@media(max-width:800px){.vxsCols{grid-template-columns:1fr}.vxsHero{align-items:flex-start;flex-direction:column}.vxsTop{flex-wrap:wrap}.vxsRow{align-items:flex-start;flex-wrap:wrap}}


/* VX Shops lives in the authenticated sidebar, not the hidden legacy tab strip. */
#vx-app-sidebar .tabs > .tab[data-tab="vxshops"]{
  display:flex!important;
  visibility:visible!important;
  opacity:1!important;
}
#tab-vxshops:not([hidden]){
  visibility:visible!important;
  opacity:1!important;
}


/* VX Shops is SA-only. Static/legacy copies stay hidden by default.
   The JS only exposes/inserts the sidebar item after /auth/me confirms isSuperAdmin. */
.wrap > .tabs > .tab[data-tab="vxshops"]{
  display:none!important;
}

.vxsCardHead{display:flex;align-items:center;justify-content:space-between;gap:10px}.vxsCardHead b{min-width:0;overflow:hidden;text-overflow:ellipsis}.vxsMode{font-size:10px!important;letter-spacing:.04em;color:#b9c1ff!important;background:rgba(118,95,255,.13)!important;border:1px solid rgba(118,95,255,.24)}.vxsAddressLink{color:#cdd3ff;text-decoration:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vxsAddressLink:hover{text-decoration:underline}.vxsAddressModes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.vxsModeCard{display:grid!important;text-align:left;gap:5px;padding:12px!important;border:1px solid rgba(255,255,255,.08)!important;background:rgba(255,255,255,.025)!important}.vxsModeCard.on{border-color:rgba(118,95,255,.58)!important;background:rgba(118,95,255,.12)!important}.vxsModeCard b{font-size:13px}.vxsModeCard span{font-size:11px;color:#8f9aab}.vxsAddressEditor{display:grid;gap:10px;margin-top:4px}.vxsPreview{padding:10px;border-radius:9px;background:rgba(118,95,255,.08);color:#cfd3ff;overflow-wrap:anywhere}.vxsDangerNote{padding:10px;border:1px solid rgba(255,173,65,.24);background:rgba(255,173,65,.07);border-radius:10px;color:#e9c58b;font-size:12px}.vxsChecklist{display:grid;gap:7px;padding:0;margin:0;list-style:none}.vxsChecklist li{display:flex;gap:7px;align-items:flex-start;color:#aeb7c5;font-size:12px}.vxsChecklist li:before{content:'✓';color:#87e3ad}.vxsPanel .vxsPrimary{background:rgba(118,95,255,.25);border-color:rgba(118,95,255,.65)}.vxsPanel .vxsDanger{background:rgba(232,76,93,.09);border-color:rgba(232,76,93,.3);color:#ffadb6}@media(max-width:800px){.vxsAddressModes{grid-template-columns:1fr}}

.vxsBuilderCols{grid-template-columns:minmax(260px,.7fr) minmax(0,1.3fr)}.vxsSelected{background:rgba(118,95,255,.08);margin:0 -8px;padding-left:8px;padding-right:8px;border-radius:9px}.vxsBuilderActions,.vxsPanelHead{display:flex;gap:8px;align-items:center;justify-content:space-between;flex-wrap:wrap}.vxsBlockList{display:grid;gap:8px}.vxsBlock{display:flex;align-items:center;gap:10px;padding:10px;border:1px solid rgba(255,255,255,.08);border-radius:10px;background:rgba(255,255,255,.025)}.vxsBlock>div:first-child{display:grid;gap:3px;flex:1;min-width:0}.vxsBlock span{color:#8f9aab;font-size:11px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vxsBlock>div:last-child{display:flex;gap:5px}.vxsBlock button:disabled{opacity:.35;cursor:not-allowed}.vxsMediaGrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:10px}.vxsMediaCard{display:grid;gap:8px;padding:10px;border:1px solid rgba(255,255,255,.08);border-radius:12px;min-width:0}.vxsMediaCard img,.vxsMediaPlaceholder{width:100%;height:120px;border-radius:9px;object-fit:cover;background:#0f141d;display:grid;place-items:center;color:#8f9aab}.vxsMediaCard>span{font-size:10px;color:#8f9aab;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.vxsMediaCard>div{display:flex;gap:5px;flex-wrap:wrap}@media(max-width:800px){.vxsBuilderCols{grid-template-columns:1fr}.vxsBlock{align-items:flex-start;flex-direction:column}.vxsBlock>div:last-child{width:100%;flex-wrap:wrap}}
