/* VX Platform — cabinet redesign prototype 2026-07-24 */
:root{
  --vx-sidebar:264px;
  --vx-sidebar-compact:86px;
  --vx-topbar:74px;
  --vx-bg:#070a10;
  --vx-bg-soft:#0b0f17;
  --vx-panel:#101620;
  --vx-panel-2:#141c28;
  --vx-panel-3:#182231;
  --vx-line:rgba(156,178,210,.14);
  --vx-line-strong:rgba(156,178,210,.24);
  --vx-text:#f4f7fb;
  --vx-muted:#8f9cad;
  --vx-accent:#7190ff;
  --vx-accent-2:#9b7cff;
  --vx-gold:#f3c84b;
  --vx-danger:#ef5c67;
  --vx-success:#52d58c;
  --vx-radius:16px;
  --vx-shadow:0 18px 55px rgba(0,0,0,.28);
}

html{background:var(--vx-bg)}
body.vx-authenticated{
  min-height:100vh;
  background:
    radial-gradient(900px 520px at 75% -140px,rgba(113,144,255,.11),transparent 68%),
    radial-gradient(700px 520px at 8% 105%,rgba(155,124,255,.08),transparent 65%),
    var(--vx-bg);
  color:var(--vx-text);
  overflow-x:hidden;
}
body.vx-authenticated::before{
  content:"";
  position:fixed;
  inset:0;
  pointer-events:none;
  opacity:.22;
  background-image:linear-gradient(rgba(255,255,255,.014) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.014) 1px,transparent 1px);
  background-size:38px 38px;
  mask-image:linear-gradient(to bottom,black,transparent 80%);
}
html.vx-auth-checking #vx-app-sidebar,
body.vx-public-guest #vx-app-sidebar,
body.vx-public-guest #vx-mobile-nav-shade{display:none!important}

/* Sidebar */
#vx-app-sidebar{
  position:fixed;
  inset:0 auto 0 0;
  z-index:700;
  width:var(--vx-sidebar);
  box-sizing:border-box;
  display:flex;
  flex-direction:column;
  padding:16px 14px 14px;
  background:linear-gradient(180deg,rgba(17,22,32,.98),rgba(9,13,20,.99));
  border-right:1px solid var(--vx-line);
  box-shadow:22px 0 70px rgba(0,0,0,.2);
  transition:width .22s ease,transform .22s ease;
}
.vxSidebarBrand{
  min-height:50px;
  display:flex;
  align-items:center;
  gap:12px;
  padding:5px 7px 16px;
  border-bottom:1px solid var(--vx-line);
  text-decoration:none;
  color:var(--vx-text);
}
.vxSidebarBrand img{
  width:42px;height:42px;object-fit:contain;border-radius:13px;
  filter:drop-shadow(0 0 16px rgba(243,200,75,.22));
}
.vxSidebarBrandText{display:grid;min-width:0;line-height:1.05}
.vxSidebarBrandText b{font-size:16px;letter-spacing:.01em}
.vxSidebarBrandText span{margin-top:5px;color:var(--vx-muted);font-size:10px;font-weight:750;letter-spacing:.14em;text-transform:uppercase}
.vxSidebarSectionLabel{padding:20px 10px 8px;color:#697688;font-size:10px;font-weight:850;letter-spacing:.16em;text-transform:uppercase}
#vx-app-sidebar .tabs{
  display:flex!important;
  flex:1 1 auto;
  min-height:0;
  flex-direction:column;
  gap:5px;
  margin:0;
  overflow-y:auto;
  overflow-x:hidden;
  scrollbar-width:thin;
  scrollbar-color:#2c3746 transparent;
}
#vx-app-sidebar .tab,
#vx-app-sidebar .vx-support-nav-link{
  min-height:45px;
  box-sizing:border-box;
  position:relative;
  display:flex;
  align-items:center;
  gap:11px;
  padding:10px 11px!important;
  border:1px solid transparent!important;
  border-radius:12px!important;
  background:transparent!important;
  color:#9da9b9!important;
  font-size:13px!important;
  font-weight:690;
  line-height:1.2;
  text-decoration:none!important;
  white-space:nowrap;
  cursor:pointer;
  transition:background .16s ease,border-color .16s ease,color .16s ease,transform .16s ease;
}
#vx-app-sidebar .tab:hover,
#vx-app-sidebar .vx-support-nav-link:hover{
  color:#eaf0f8!important;
  background:rgba(255,255,255,.045)!important;
  border-color:rgba(255,255,255,.055)!important;
  transform:translateX(1px);
}
#vx-app-sidebar .tab.active{
  color:#fff!important;
  border-color:rgba(113,144,255,.3)!important;
  background:linear-gradient(100deg,rgba(113,144,255,.19),rgba(155,124,255,.09))!important;
  box-shadow:inset 3px 0 0 var(--vx-accent),0 8px 25px rgba(54,76,145,.08);
}
#vx-app-sidebar .tab.active::after{
  content:"";position:absolute;right:10px;width:5px;height:5px;border-radius:50%;background:#aabaff;box-shadow:0 0 10px #879dff;
}
.vxNavIcon{
  width:22px;height:22px;display:inline-flex;align-items:center;justify-content:center;flex:0 0 22px;color:currentColor;
}
.vxNavIcon svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
#vx-app-sidebar .tab.locked{opacity:.58}
#vx-app-sidebar .tab.locked::after{display:none}
#vx-app-sidebar .tab.locked::before{display:none!important}
#vx-app-sidebar .vxTicketActivityBadge,
#vx-app-sidebar .badge{margin-left:auto!important}
.vxSidebarFooter{display:grid;gap:8px;padding-top:12px;border-top:1px solid var(--vx-line)}
.vxSidebarMiniLink,.vxSidebarCollapse{
  display:flex;align-items:center;gap:10px;min-height:40px;padding:8px 10px;border:1px solid transparent;border-radius:11px;background:transparent;color:#8390a1;text-decoration:none;font-size:12px;cursor:pointer
}
.vxSidebarMiniLink:hover,.vxSidebarCollapse:hover{background:rgba(255,255,255,.04);color:#dbe4ef}
.vxSidebarStatusDot{width:8px;height:8px;border-radius:50%;background:var(--vx-success);box-shadow:0 0 10px rgba(82,213,140,.65)}
.vxSidebarCollapse{width:100%;font:inherit}
.vxSidebarCollapse svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.9}

/* Header */
body.vx-authenticated > header:not(.vx-public-header){
  position:fixed;
  z-index:650;
  left:var(--vx-sidebar);
  right:0;
  top:0;
  height:var(--vx-topbar);
  box-sizing:border-box;
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:0 24px;
  background:rgba(8,12,19,.82)!important;
  border:0!important;
  border-bottom:1px solid var(--vx-line)!important;
  backdrop-filter:blur(18px) saturate(130%);
  -webkit-backdrop-filter:blur(18px) saturate(130%);
  animation:none!important;
  box-shadow:none!important;
  transition:left .22s ease;
}
body.vx-authenticated > header:not(.vx-public-header) > div:first-child{display:none!important}
body.vx-authenticated > header:not(.vx-public-header) > .row{
  margin-left:auto;
  flex-wrap:nowrap;
  gap:9px;
}
.vxTopbarContext{display:flex;align-items:center;gap:12px;min-width:0}
.vxMobileNavButton{
  display:none;width:40px;height:40px;padding:0!important;align-items:center;justify-content:center;border-radius:11px!important;background:rgba(255,255,255,.035)!important;border-color:var(--vx-line)!important
}
.vxMobileNavButton svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round}
.vxTopbarTitles{display:grid;gap:2px;min-width:0}
.vxTopbarKicker{color:#758295;font-size:10px;font-weight:850;letter-spacing:.15em;text-transform:uppercase}
.vxTopbarTitle{font-size:17px;font-weight:780;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
body.vx-authenticated #project-switcher{
  min-width:210px;max-width:300px;height:40px;padding:0 34px 0 12px;border-radius:11px;background:#101722;border-color:var(--vx-line-strong);color:#eaf0f7;font-weight:650
}
body.vx-authenticated .vxProjectAdd{height:40px;border-radius:11px!important;background:rgba(113,144,255,.1)!important;border-color:rgba(113,144,255,.28)!important;color:#cbd6ff!important}
body.vx-authenticated #notify-bell{
  position:relative;display:flex;align-items:center;justify-content:center;width:40px;height:40px;padding:0;border:1px solid var(--vx-line);border-radius:12px;background:rgba(255,255,255,.035);font-size:17px;cursor:pointer
}
body.vx-authenticated #notify-count{
  position:absolute;top:-5px;right:-5px;min-width:18px;height:18px;box-sizing:border-box;display:flex;align-items:center;justify-content:center;padding:0 5px;border:2px solid #0a0e15;border-radius:999px;background:#ef5c67;color:#fff;font-size:10px;font-weight:900
}
body.vx-authenticated .vxProfileButton{width:40px;height:40px;border-radius:12px!important;border-color:var(--vx-line)!important;background:#121923!important;padding:2px!important}
body.vx-authenticated .vxProfileAvatar{border-radius:10px!important}
body.vx-authenticated #logout{height:40px;padding:0 13px;border-radius:11px;background:rgba(239,92,103,.07);border-color:rgba(239,92,103,.22);color:#f2a0a7}
body.vx-authenticated #login{height:40px;border-radius:11px;background:linear-gradient(135deg,#6d86ee,#8b70e8);border:0;color:#fff;font-weight:800}
body.vx-authenticated .ultra-badge{min-height:24px;padding:5px 10px;background:rgba(145,91,255,.1);border-color:rgba(171,122,255,.38);box-shadow:none;animation:none}
body.vx-authenticated .ultra-text{font-size:10px;letter-spacing:.11em}
body.vx-authenticated .header-lite,
body.vx-authenticated .header-pro,
body.vx-authenticated .header-ultra{background:rgba(8,12,19,.82)!important;animation:none!important}

/* Main content */
body.vx-authenticated > .wrap{
  width:auto;
  max-width:none;
  min-height:100vh;
  box-sizing:border-box;
  margin:0 0 0 var(--vx-sidebar);
  padding:calc(var(--vx-topbar) + 24px) clamp(18px,2.3vw,34px) 42px;
  transition:margin-left .22s ease;
}
body.vx-authenticated > .wrap > .tabs{display:none!important}
body.vx-authenticated .card{
  border:1px solid var(--vx-line);
  border-radius:var(--vx-radius);
  background:linear-gradient(145deg,rgba(18,25,36,.94),rgba(12,18,27,.96));
  box-shadow:0 1px 0 rgba(255,255,255,.025) inset,var(--vx-shadow);
  padding:18px;
  margin-bottom:16px;
}
body.vx-authenticated > .wrap > [id^="tab-"]{max-width:1680px;margin-left:auto;margin-right:auto}
body.vx-authenticated h1,body.vx-authenticated h2,body.vx-authenticated h3,body.vx-authenticated h4{color:#f5f7fb;letter-spacing:-.015em}
body.vx-authenticated h2,body.vx-authenticated h3{margin-top:0}
body.vx-authenticated .muted{color:var(--vx-muted);opacity:1}
body.vx-authenticated a{color:#aebdff}
body.vx-authenticated button{
  min-height:38px;border-radius:10px;border:1px solid var(--vx-line-strong);background:#182231;color:#edf2f8;font-weight:650;transition:background .15s ease,border-color .15s ease,transform .15s ease,filter .15s ease
}
body.vx-authenticated button:hover:not(:disabled){background:#202d3f;border-color:rgba(156,178,210,.35);transform:translateY(-1px)}
body.vx-authenticated button:active:not(:disabled){transform:translateY(0)}
body.vx-authenticated button.primary,
body.vx-authenticated .primary:not(.vx-public-nav .primary),
body.vx-authenticated .vxBotPublish{
  border-color:transparent!important;background:linear-gradient(135deg,#6684f0,#8870eb)!important;color:#fff!important;box-shadow:0 8px 22px rgba(90,109,220,.18)
}
body.vx-authenticated button.danger,
body.vx-authenticated .danger{border-color:rgba(239,92,103,.34)!important;background:rgba(239,92,103,.11)!important;color:#ffadb4!important}
body.vx-authenticated input,
body.vx-authenticated select,
body.vx-authenticated textarea{
  box-sizing:border-box;min-height:40px;border:1px solid var(--vx-line-strong);border-radius:10px;background:#0c121b;color:#edf2f8;padding:9px 11px;outline:none;transition:border-color .15s ease,box-shadow .15s ease,background .15s ease
}
body.vx-authenticated textarea{line-height:1.5}
body.vx-authenticated input:focus,
body.vx-authenticated select:focus,
body.vx-authenticated textarea:focus{border-color:rgba(113,144,255,.72);box-shadow:0 0 0 3px rgba(113,144,255,.11);background:#0e1520}
body.vx-authenticated table{border-collapse:separate;border-spacing:0;width:100%;overflow:hidden}
body.vx-authenticated th{padding:10px 12px;color:#778598;font-size:10px;font-weight:850;letter-spacing:.1em;text-transform:uppercase;background:rgba(255,255,255,.02);border-bottom:1px solid var(--vx-line)}
body.vx-authenticated td{padding:12px;border-bottom:1px solid rgba(156,178,210,.085);color:#dbe3ed}
body.vx-authenticated tr:last-child td{border-bottom:0}
body.vx-authenticated tbody tr{transition:background .14s ease}
body.vx-authenticated tbody tr:hover{background:rgba(113,144,255,.035)}

/* High-value legacy surfaces */
body.vx-authenticated .vxProfilePanel,
body.vx-authenticated #notify-panel,
body.vx-authenticated .modal .box,
body.vx-authenticated .sa-modal-box,
body.vx-authenticated .vx-news-admin-modal{
  border:1px solid var(--vx-line-strong)!important;border-radius:16px!important;background:linear-gradient(155deg,#161e2a,#0e141e)!important;box-shadow:0 28px 80px rgba(0,0,0,.48)!important
}
body.vx-authenticated #notify-panel{top:62px!important;right:20px!important}
body.vx-authenticated .vxBotPanel,
body.vx-authenticated .vxCompactList,
body.vx-authenticated .vxIntegrationSelectEditor,
body.vx-authenticated .vxBotConnection,
body.vx-authenticated .vxBotLinkBox,
body.vx-authenticated .vxBotCompactToggle,
body.vx-authenticated .vxTmMainToggle,
body.vx-authenticated .vx-sub-card,
body.vx-authenticated .vx-audit-item{
  border-color:var(--vx-line)!important;background:rgba(8,13,21,.48)!important;border-radius:13px!important;box-shadow:none!important
}
body.vx-authenticated .vxCompactRow{border-color:rgba(156,178,210,.09)}
body.vx-authenticated .vxCompactRow:hover,
body.vx-authenticated .vxCompactRow.is-selected{background:rgba(113,144,255,.08)}
body.vx-authenticated .vxBotChannelTab.is-active,
body.vx-authenticated .vxTmTab.is-active,
body.vx-authenticated .vxIntegrationViewSwitch button.is-active{background:rgba(113,144,255,.16)!important;border-color:rgba(113,144,255,.5)!important;color:#fff}
body.vx-authenticated .no-project-card{border-style:dashed;background:linear-gradient(140deg,rgba(113,144,255,.08),rgba(155,124,255,.04))}
body.vx-authenticated .np-btn{display:inline-flex;padding:10px 14px;border-radius:10px;background:linear-gradient(135deg,#6684f0,#8870eb);color:#fff;text-decoration:none;font-weight:800}
body.vx-authenticated .kpi-card,
body.vx-authenticated .ip-card,
body.vx-authenticated .sa-card{border-color:var(--vx-line)!important;background:rgba(9,14,22,.52)!important;border-radius:14px!important}
body.vx-authenticated .vxPricingToggle,
body.vx-authenticated .vxIntegrationViewSwitch{border-color:var(--vx-line)!important;background:rgba(4,8,13,.28)}
body.vx-authenticated .vxTicketActivityBadge{box-shadow:0 0 0 3px rgba(239,92,103,.1)}
body.vx-authenticated .warn{color:#f1bd67}
body.vx-authenticated .is-on{color:var(--vx-success)}
body.vx-authenticated .is-off{color:#f17780}

/* Scrollbars */
body.vx-authenticated *{scrollbar-width:thin;scrollbar-color:#2b3645 transparent}
body.vx-authenticated *::-webkit-scrollbar{width:9px;height:9px}
body.vx-authenticated *::-webkit-scrollbar-thumb{background:#2b3645;border:2px solid transparent;background-clip:padding-box;border-radius:999px}
body.vx-authenticated *::-webkit-scrollbar-track{background:transparent}

/* Collapsed desktop sidebar */
body.vx-sidebar-collapsed #vx-app-sidebar{width:var(--vx-sidebar-compact)}
body.vx-sidebar-collapsed > header:not(.vx-public-header){left:var(--vx-sidebar-compact)}
body.vx-sidebar-collapsed > .wrap{margin-left:var(--vx-sidebar-compact)}
body.vx-sidebar-collapsed .vxSidebarBrand{justify-content:center;padding-left:0;padding-right:0}
body.vx-sidebar-collapsed .vxSidebarBrandText,
body.vx-sidebar-collapsed .vxSidebarSectionLabel,
body.vx-sidebar-collapsed .vxSidebarMiniLink span:not(.vxSidebarStatusDot),
body.vx-sidebar-collapsed .vxSidebarCollapse span{display:none}
body.vx-sidebar-collapsed #vx-app-sidebar .tab,
body.vx-sidebar-collapsed #vx-app-sidebar .vx-support-nav-link{justify-content:center;font-size:0!important;padding-left:8px!important;padding-right:8px!important}
body.vx-sidebar-collapsed #vx-app-sidebar .tab.active::after{right:6px}
body.vx-sidebar-collapsed .vxNavIcon{margin:0}
body.vx-sidebar-collapsed .vxSidebarMiniLink,
body.vx-sidebar-collapsed .vxSidebarCollapse{justify-content:center}

/* Mobile */
#vx-mobile-nav-shade{display:none}
@media(max-width:1080px){
  :root{--vx-sidebar:224px}
  body.vx-authenticated #project-switcher{min-width:160px;max-width:210px}
  body.vx-authenticated #logout{font-size:0;width:40px;padding:0}
  body.vx-authenticated #logout::before{content:"↪";font-size:18px}
}
@media(max-width:820px){
  #vx-app-sidebar{width:min(286px,84vw);transform:translateX(-105%);box-shadow:35px 0 90px rgba(0,0,0,.46)}
  body.vx-sidebar-open #vx-app-sidebar{transform:translateX(0)}
  body.vx-authenticated > header:not(.vx-public-header){left:0;padding:0 12px}
  body.vx-authenticated > .wrap{margin-left:0;padding-left:14px;padding-right:14px}
  body.vx-sidebar-collapsed > header:not(.vx-public-header){left:0}
  body.vx-sidebar-collapsed > .wrap{margin-left:0}
  body.vx-sidebar-collapsed #vx-app-sidebar{width:min(286px,84vw)}
  body.vx-sidebar-collapsed .vxSidebarBrandText,
  body.vx-sidebar-collapsed .vxSidebarSectionLabel,
  body.vx-sidebar-collapsed .vxSidebarMiniLink span:not(.vxSidebarStatusDot),
  body.vx-sidebar-collapsed .vxSidebarCollapse span{display:initial}
  body.vx-sidebar-collapsed #vx-app-sidebar .tab,
  body.vx-sidebar-collapsed #vx-app-sidebar .vx-support-nav-link{justify-content:flex-start;font-size:13px!important;padding-left:11px!important;padding-right:11px!important}
  .vxMobileNavButton{display:inline-flex}
  .vxTopbarKicker{display:none}
  .vxTopbarTitle{font-size:15px}
  body.vx-authenticated #project-switcher{display:none!important}
  body.vx-authenticated .vxProjectAdd{display:none!important}
  #vx-mobile-nav-shade{position:fixed;inset:0;z-index:690;display:block;pointer-events:none;background:rgba(0,0,0,0);backdrop-filter:blur(0);transition:background .2s ease,backdrop-filter .2s ease}
  body.vx-sidebar-open #vx-mobile-nav-shade{pointer-events:auto;background:rgba(1,4,9,.58);backdrop-filter:blur(3px)}
}
@media(max-width:560px){
  :root{--vx-topbar:66px}
  body.vx-authenticated > header:not(.vx-public-header){gap:6px}
  .vxTopbarContext{gap:7px}
  .vxTopbarTitle{max-width:128px}
  body.vx-authenticated > header:not(.vx-public-header) > .row{gap:6px}
  body.vx-authenticated .ultra-badge{display:none!important}
  body.vx-authenticated #logout{display:none!important}
  body.vx-authenticated .card{padding:14px;border-radius:14px}
  body.vx-authenticated > .wrap{padding-top:calc(var(--vx-topbar) + 15px)}
  body.vx-authenticated #notify-panel{right:8px!important}
}

/* Public landing: restrained visual refresh */
body.vx-public-guest #vx-public-guest{
  background:radial-gradient(circle at 13% -5%,rgba(243,200,75,.13),transparent 29%),radial-gradient(circle at 88% 9%,rgba(113,144,255,.12),transparent 30%),#070a10
}
body.vx-public-guest .vx-public-header{background:rgba(7,10,16,.79);border-bottom-color:rgba(255,255,255,.07)}
body.vx-public-guest .vx-public-card{border-color:rgba(156,178,210,.12);background:linear-gradient(150deg,rgba(22,29,41,.82),rgba(10,15,23,.75));border-radius:20px}
body.vx-public-guest .vx-public-visual img{object-fit:contain;background:radial-gradient(circle,rgba(243,200,75,.08),transparent 63%)}

/* Owner dashboard composition */
body.vx-authenticated .owner-container{padding:4px}
body.vx-authenticated .owner-header{margin-bottom:22px;padding:4px 2px 18px;border-bottom:1px solid var(--vx-line)}
body.vx-authenticated .owner-header h1{margin:0;font-size:clamp(24px,3vw,34px)}
body.vx-authenticated .owner-plan{margin-top:8px;border-color:rgba(113,144,255,.24);background:rgba(113,144,255,.08);color:#cbd6ff;font-weight:800;letter-spacing:.08em}
body.vx-authenticated .owner-kpi{grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:12px;margin-bottom:18px}
body.vx-authenticated .kpi-card{position:relative;overflow:hidden;padding:18px}
body.vx-authenticated .kpi-card::after{content:"";position:absolute;width:110px;height:110px;right:-54px;top:-58px;border-radius:50%;background:rgba(113,144,255,.08)}
body.vx-authenticated .kpi-title{color:#8694a7;font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
body.vx-authenticated .kpi-value{font-size:30px;font-weight:780}
body.vx-authenticated .owner-section{margin-top:12px;padding:16px;border:1px solid var(--vx-line);border-radius:14px;background:rgba(6,10,16,.3)}
body.vx-authenticated .owner-section .section-title{font-size:15px;font-weight:780}
body.vx-authenticated .sa-grid{gap:12px}

/* VX Platform redesign patch 2 — navigation precision, owner workspace, detached pages */
#vx-app-sidebar .tab,
#vx-app-sidebar .vx-support-nav-link{
  padding-right:30px!important;
}
#vx-app-sidebar .tab.active::after{
  right:5px;
}
body.vx-sidebar-collapsed #vx-app-sidebar .tab,
body.vx-sidebar-collapsed #vx-app-sidebar .vx-support-nav-link{
  padding-right:8px!important;
}
body.vx-sidebar-collapsed #vx-app-sidebar .tab.active::after{
  right:4px;
}

/* Mini-profile social unlink actions */
body.vx-authenticated .vxProfileSocialStatus .danger{
  width:auto!important;
  min-width:0!important;
  min-height:26px!important;
  height:26px!important;
  padding:0 9px!important;
  align-items:center!important;
  justify-content:center!important;
  justify-self:end;
  line-height:1!important;
  white-space:nowrap;
  border-radius:8px!important;
  font-size:11px!important;
}

/* Owner workspace tabs */
body.vx-authenticated .owner-header > div:last-child:empty{display:none!important}
body.vx-authenticated .vxOwnerTabs{
  position:relative;
  display:flex;
  align-items:center;
  gap:5px;
  margin:0 0 14px;
  padding:5px;
  overflow-x:auto;
  border:1px solid var(--vx-line);
  border-radius:14px;
  background:rgba(5,9,15,.48);
  box-shadow:0 1px 0 rgba(255,255,255,.025) inset;
  scrollbar-width:none;
}
body.vx-authenticated .vxOwnerTabs::-webkit-scrollbar{display:none}
body.vx-authenticated .vxOwnerTab{
  flex:0 0 auto;
  min-height:42px;
  padding:0 13px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  border:1px solid transparent;
  border-radius:10px;
  background:transparent;
  color:#8f9cad;
  font-size:12px;
  font-weight:760;
  box-shadow:none;
}
body.vx-authenticated .vxOwnerTab:hover:not(:disabled){
  transform:none;
  background:rgba(255,255,255,.04);
  border-color:rgba(255,255,255,.055);
  color:#e7edf6;
}
body.vx-authenticated .vxOwnerTab.is-active{
  background:linear-gradient(110deg,rgba(113,144,255,.19),rgba(155,124,255,.1));
  border-color:rgba(113,144,255,.32);
  color:#fff;
  box-shadow:0 8px 22px rgba(43,61,120,.12),inset 0 1px 0 rgba(255,255,255,.045);
}
body.vx-authenticated .vxOwnerTab[hidden]{display:none!important}
body.vx-authenticated .vxOwnerTabIcon{
  width:18px;
  height:18px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  color:currentColor;
}
body.vx-authenticated .vxOwnerTabIcon svg{
  width:17px;
  height:17px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
}
body.vx-authenticated .owner-section.vxOwnerPage{
  margin-top:0;
  min-height:220px;
  animation:vxOwnerPageIn .16s ease;
}
body.vx-authenticated .owner-section.vxOwnerPage[hidden]{display:none!important}
body.vx-authenticated .owner-section.vxOwnerPage > .vxOwnerLegacyHead{display:none!important}
body.vx-authenticated .vxOwnerPageIntro{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:18px;
  margin-bottom:16px;
  padding-bottom:14px;
  border-bottom:1px solid var(--vx-line);
}
body.vx-authenticated .vxOwnerPageIntro h3{margin:0 0 5px;font-size:18px}
body.vx-authenticated .vxOwnerPageIntro p{margin:0;max-width:760px;color:var(--vx-muted);font-size:13px;line-height:1.5}
body.vx-authenticated .vxOwnerActionPanel{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center;
  gap:18px;
  min-height:120px;
  padding:18px;
  border:1px solid var(--vx-line);
  border-radius:13px;
  background:linear-gradient(130deg,rgba(113,144,255,.07),rgba(7,12,19,.24));
}
body.vx-authenticated .vxOwnerActionPanel h4{margin:0 0 6px}
body.vx-authenticated .vxOwnerActionPanel p{margin:0;color:var(--vx-muted);font-size:13px;line-height:1.5}
body.vx-authenticated .vxOwnerActionPanel button{white-space:nowrap}
@keyframes vxOwnerPageIn{from{opacity:.55;transform:translateY(3px)}to{opacity:1;transform:none}}

/* Normalize pages that were outside .wrap in the legacy markup */
body.vx-authenticated > .wrap > #tab-tickets,
body.vx-authenticated > .wrap > #tab-subscriptions{
  width:100%;
  max-width:1680px;
  min-width:0;
  box-sizing:border-box;
  margin-left:auto;
  margin-right:auto;
}
body.vx-authenticated > .wrap > #tab-tickets{padding:0}
body.vx-authenticated #tab-tickets .vxTickets__header,
body.vx-authenticated #tab-tickets .vxPanel{
  border-color:var(--vx-line);
  background:linear-gradient(145deg,rgba(18,25,36,.94),rgba(12,18,27,.96));
  box-shadow:0 1px 0 rgba(255,255,255,.025) inset,var(--vx-shadow);
}
body.vx-authenticated #tab-tickets .vxTickets__grid{
  grid-template-columns:minmax(300px,380px) minmax(0,1fr);
}
body.vx-authenticated #tab-tickets .vxTickets__controls{min-width:0}
body.vx-authenticated #tab-tickets .vxInp{min-width:min(360px,100%)}
body.vx-authenticated #tab-tickets .vxPanel,
body.vx-authenticated #tab-tickets .vxChat,
body.vx-authenticated #tab-tickets .vxComposer{min-width:0}

body.vx-authenticated #tab-subscriptions{overflow:hidden}
body.vx-authenticated #tab-subscriptions .vxSubscriptionsHero{min-width:0}
body.vx-authenticated #tab-subscriptions .vxPricingToggle{max-width:100%;overflow-x:auto}
body.vx-authenticated #tab-subscriptions .vxSubscriptionCard{min-width:0}

@media(max-width:1100px){
  body.vx-authenticated #tab-tickets .vxTickets__header{align-items:flex-start;flex-direction:column}
  body.vx-authenticated #tab-tickets .vxTickets__controls{width:100%;justify-content:flex-start}
  body.vx-authenticated #tab-tickets .vxTickets__grid{grid-template-columns:1fr}
  body.vx-authenticated #tab-tickets .vxList{max-height:380px}
}
@media(max-width:720px){
  body.vx-authenticated .vxOwnerTabs{margin-left:-2px;margin-right:-2px}
  body.vx-authenticated .vxOwnerTab{padding:0 11px}
  body.vx-authenticated .vxOwnerActionPanel{grid-template-columns:1fr}
  body.vx-authenticated #tab-tickets .vxTickets__controls > *{width:100%;min-width:0!important}
}

/* VX Platform redesign patch 3 — logs workspace and plan locks */
#vx-app-sidebar .vxNavLabel{
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

/* Selected lock concept: the section name remains visible, access rule sits below it. */
#vx-app-sidebar .tab:is(.vxPlanLocked,.vxTicketPermissionLocked){
  display:grid!important;
  grid-template-columns:28px minmax(0,1fr) auto;
  grid-template-rows:minmax(24px,auto) auto;
  align-items:center;
  column-gap:10px;
  row-gap:7px;
  min-height:76px!important;
  height:auto!important;
  padding:9px 10px!important;
  overflow:hidden!important;
  border-color:rgba(107,122,145,.12)!important;
  background:linear-gradient(145deg,rgba(11,16,24,.48),rgba(7,11,17,.28))!important;
  color:#667386!important;
  filter:none!important;
}
#vx-app-sidebar .tab:is(.vxPlanLocked,.vxTicketPermissionLocked):hover{
  transform:none!important;
  border-color:rgba(125,143,170,.2)!important;
  background:linear-gradient(145deg,rgba(15,21,31,.58),rgba(8,13,20,.38))!important;
}
#vx-app-sidebar .tab:is(.vxPlanLocked,.vxTicketPermissionLocked) > .vxNavIcon{
  grid-column:1;
  grid-row:1;
  color:#566375!important;
  opacity:.82;
}
#vx-app-sidebar .tab:is(.vxPlanLocked,.vxTicketPermissionLocked) > .vxNavLabel{
  grid-column:2;
  grid-row:1;
  color:#707d90!important;
  font-weight:740;
  opacity:.82;
}
#vx-app-sidebar .tab:is(.vxPlanLocked,.vxTicketPermissionLocked) > .vxTicketActivityBadge,
#vx-app-sidebar .tab:is(.vxPlanLocked,.vxTicketPermissionLocked) > .badge{
  grid-column:3;
  grid-row:1;
  opacity:.5;
}
#vx-app-sidebar .tab:is(.vxPlanLocked,.vxTicketPermissionLocked) :is(.vxNavPlanLock,.vxNavPermissionLock){
  position:static!important;
  inset:auto!important;
  grid-column:1 / -1;
  grid-row:2;
  width:100%;
  min-width:0;
  box-sizing:border-box;
  display:flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:7px!important;
  padding:7px 8px!important;
  border:1px solid rgba(115,132,157,.18)!important;
  border-radius:9px!important;
  background:rgba(5,9,15,.52)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.025)!important;
  color:#8e9bad!important;
  font-size:10px!important;
  line-height:1.2!important;
  text-align:left!important;
  white-space:normal!important;
  backdrop-filter:none!important;
}
#vx-app-sidebar .tab:is(.vxPlanLocked,.vxTicketPermissionLocked) .vxNavLockIcon{
  width:19px;
  height:19px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  flex:0 0 auto;
  border:1px solid rgba(130,147,174,.18);
  border-radius:6px;
  background:rgba(112,128,154,.07);
  color:#8d9aae;
  font-size:10px!important;
}
#vx-app-sidebar .tab:is(.vxPlanLocked,.vxTicketPermissionLocked) .vxNavLockText{
  min-width:0;
  display:flex!important;
  flex-direction:row!important;
  flex-wrap:wrap;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:3px 5px!important;
}
#vx-app-sidebar .tab:is(.vxPlanLocked,.vxTicketPermissionLocked) .vxNavLockText > span{
  display:inline-flex!important;
  flex-wrap:wrap;
  justify-content:flex-start!important;
  gap:4px!important;
  white-space:normal!important;
}
#vx-app-sidebar .tab:is(.vxPlanLocked,.vxTicketPermissionLocked) .vxPlanChip{
  min-height:16px;
  padding:1px 6px!important;
  border-radius:999px;
  font-size:8px!important;
  line-height:1.15!important;
  font-weight:900;
  letter-spacing:.4px;
}
#vx-app-sidebar .tab:is(.vxPlanLocked,.vxTicketPermissionLocked) .vxPlanChip--lite{
  color:#d7efff;
  border-color:rgba(112,193,255,.46);
  background:linear-gradient(135deg,rgba(28,94,161,.78),rgba(17,54,105,.86));
  box-shadow:0 0 12px rgba(71,154,255,.13);
}
#vx-app-sidebar .tab:is(.vxPlanLocked,.vxTicketPermissionLocked) .vxPlanChip--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);
}
#vx-app-sidebar .tab:is(.vxPlanLocked,.vxTicketPermissionLocked) .vxPlanChip--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);
}
body.vx-sidebar-collapsed #vx-app-sidebar .tab:is(.vxPlanLocked,.vxTicketPermissionLocked){
  display:flex!important;
  width:44px!important;
  min-height:44px!important;
  height:44px!important;
  padding:0!important;
  align-items:center;
  justify-content:center;
}
body.vx-sidebar-collapsed #vx-app-sidebar .tab:is(.vxPlanLocked,.vxTicketPermissionLocked) > .vxNavLabel,
body.vx-sidebar-collapsed #vx-app-sidebar .tab:is(.vxPlanLocked,.vxTicketPermissionLocked) > :is(.vxNavPlanLock,.vxNavPermissionLock),
body.vx-sidebar-collapsed #vx-app-sidebar .tab:is(.vxPlanLocked,.vxTicketPermissionLocked) > .vxTicketActivityBadge,
body.vx-sidebar-collapsed #vx-app-sidebar .tab:is(.vxPlanLocked,.vxTicketPermissionLocked) > .badge{display:none!important}
body.vx-sidebar-collapsed #vx-app-sidebar .tab:is(.vxPlanLocked,.vxTicketPermissionLocked) > .vxNavIcon{margin:0!important}

/* Logs — split view as primary, timeline and compact table as optional modes. */
body.vx-authenticated #tab-logs.vxLogsWorkspace{
  width:100%;
  max-width:1680px;
  min-width:0;
  margin:0 auto;
  padding:0;
  border:0;
  background:transparent;
  box-shadow:none;
}
body.vx-authenticated .vxLogsHeader{
  margin-bottom:12px;
  padding:20px;
  border:1px solid var(--vx-line);
  border-radius:17px;
  background:
    radial-gradient(circle at 88% 4%,rgba(113,144,255,.13),transparent 34%),
    linear-gradient(145deg,rgba(18,25,36,.96),rgba(10,16,24,.96));
  box-shadow:var(--vx-shadow),inset 0 1px 0 rgba(255,255,255,.03);
}
body.vx-authenticated .vxLogsHeading{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:22px;
}
body.vx-authenticated .vxLogsEyebrow,
body.vx-authenticated .vxLogsAltKicker{
  display:block;
  margin-bottom:6px;
  color:#7f91aa;
  font-size:10px;
  font-weight:850;
  letter-spacing:.12em;
  text-transform:uppercase;
}
body.vx-authenticated .vxLogsHeading h2{
  margin:0;
  color:#f3f6fb;
  font-size:clamp(24px,3vw,34px);
  letter-spacing:-.035em;
}
body.vx-authenticated .vxLogsHeading p{
  max-width:760px;
  margin:7px 0 0;
  color:var(--vx-muted);
  font-size:13px;
  line-height:1.55;
}
body.vx-authenticated .vxLogsModes{
  display:flex;
  flex:0 0 auto;
  gap:4px;
  padding:4px;
  border:1px solid var(--vx-line);
  border-radius:12px;
  background:rgba(3,7,12,.42);
}
body.vx-authenticated .vxLogsMode{
  min-height:35px;
  padding:0 12px;
  border:1px solid transparent;
  border-radius:9px;
  background:transparent;
  color:#8795a8;
  font-size:11px;
  font-weight:780;
  box-shadow:none;
}
body.vx-authenticated .vxLogsMode:hover{
  transform:none;
  border-color:rgba(255,255,255,.05);
  background:rgba(255,255,255,.035);
  color:#dbe3ee;
}
body.vx-authenticated .vxLogsMode.is-active{
  border-color:rgba(113,144,255,.32);
  background:linear-gradient(115deg,rgba(113,144,255,.2),rgba(155,124,255,.1));
  color:#fff;
  box-shadow:0 8px 18px rgba(36,52,99,.13),inset 0 1px 0 rgba(255,255,255,.04);
}
body.vx-authenticated .vxLogsStats{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:9px;
  margin-top:17px;
}
body.vx-authenticated .vxLogsStat{
  min-width:0;
  padding:12px 14px;
  border:1px solid rgba(142,160,187,.11);
  border-radius:12px;
  background:rgba(4,8,14,.3);
}
body.vx-authenticated .vxLogsStat span{
  display:block;
  margin-bottom:5px;
  color:#7e8da1;
  font-size:10px;
  font-weight:780;
  letter-spacing:.06em;
  text-transform:uppercase;
}
body.vx-authenticated .vxLogsStat strong{
  display:block;
  color:#edf3fb;
  font-size:23px;
  line-height:1;
  letter-spacing:-.025em;
}
body.vx-authenticated #tab-logs > .logs-topbar{
  display:grid;
  grid-template-columns:minmax(0,1.15fr) minmax(340px,.85fr);
  gap:14px;
  margin-bottom:12px;
  padding:15px;
  border:1px solid var(--vx-line);
  border-radius:15px;
  background:linear-gradient(145deg,rgba(15,22,32,.95),rgba(9,15,23,.95));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.025);
}
body.vx-authenticated #tab-logs .logs-left{
  display:grid;
  grid-template-columns:repeat(4,minmax(105px,1fr));
  align-items:end;
  gap:10px;
  min-width:0;
}
body.vx-authenticated #tab-logs .logs-field,
body.vx-authenticated #tab-logs .logs-field input,
body.vx-authenticated #tab-logs .logs-field select{min-width:0}
body.vx-authenticated #tab-logs .logs-geo{grid-column:span 2}
body.vx-authenticated #tab-logs .logs-geo-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}
body.vx-authenticated #tab-logs .logs-geo-row input{width:100%}
body.vx-authenticated #tab-logs .logs-right{min-width:0}
body.vx-authenticated #tab-logs .logs-search{width:100%;box-sizing:border-box}
body.vx-authenticated #tab-logs .logs-actions{gap:7px}
body.vx-authenticated #tab-logs .logs-actions button{min-height:35px;padding:0 11px}
body.vx-authenticated #tab-logs .logs-check{
  min-height:35px;
  padding:0 10px;
  border:1px solid var(--vx-line);
  border-radius:9px;
  background:rgba(255,255,255,.025);
  color:#a7b3c3;
  font-size:11px;
}
body.vx-authenticated #tab-logs .logs-status-row{align-items:flex-start}
body.vx-authenticated #tab-logs .logs-hint{text-align:right}
body.vx-authenticated #tab-logs > .logs-body{
  grid-template-columns:minmax(360px,.82fr) minmax(0,1.18fr);
  gap:12px;
}
body.vx-authenticated #tab-logs .logs-pane{
  min-width:0;
  border:1px solid var(--vx-line);
  border-radius:15px;
  background:linear-gradient(145deg,rgba(15,22,32,.95),rgba(9,15,23,.95));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.025);
}
body.vx-authenticated #tab-logs .logs-pane-head{
  min-height:48px;
  padding:0 14px;
  border-bottom:1px solid var(--vx-line);
}
body.vx-authenticated #tab-logs .logs-list,
body.vx-authenticated #tab-logs .logs-detail{
  min-height:510px;
  max-height:calc(100vh - 345px);
  overflow:auto;
}
body.vx-authenticated #tab-logs .logs-item{
  margin:8px;
  padding:12px;
  border:1px solid transparent;
  border-radius:11px;
  background:rgba(255,255,255,.018);
}
body.vx-authenticated #tab-logs .logs-item:hover{
  border-color:rgba(130,151,181,.12);
  background:rgba(255,255,255,.035);
}
body.vx-authenticated #tab-logs .logs-item.active{
  border-color:rgba(113,144,255,.33);
  outline:0;
  background:linear-gradient(120deg,rgba(113,144,255,.12),rgba(113,144,255,.045));
}
body.vx-authenticated .vxLogsAltView{
  min-width:0;
  padding:16px;
  border:1px solid var(--vx-line);
  border-radius:15px;
  background:linear-gradient(145deg,rgba(15,22,32,.95),rgba(9,15,23,.95));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.025);
  animation:vxLogsViewIn .16s ease;
}
body.vx-authenticated .vxLogsAltView[hidden],
body.vx-authenticated #tab-logs > .logs-body[hidden]{display:none!important}
body.vx-authenticated .vxLogsAltToolbar{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:18px;
  margin-bottom:14px;
  padding-bottom:13px;
  border-bottom:1px solid var(--vx-line);
}
body.vx-authenticated .vxLogsAltToolbar h3{margin:0;color:#eef3fa;font-size:17px}
body.vx-authenticated .vxLogsTimelineControls{
  display:flex;
  align-items:flex-end;
  gap:8px;
}
body.vx-authenticated .vxLogsTimelineControls label{
  display:grid;
  gap:5px;
  color:#7f8da0;
  font-size:10px;
  font-weight:760;
  letter-spacing:.04em;
  text-transform:uppercase;
}
body.vx-authenticated .vxLogsTimelineControls select{min-width:170px}
body.vx-authenticated .vxLogsTimelineControls input{width:105px}
body.vx-authenticated .vxLogsRadiusControl[hidden]{display:none!important}
body.vx-authenticated .vxLogsTimeline{
  display:grid;
  gap:12px;
  max-height:calc(100vh - 320px);
  overflow:auto;
  padding-right:3px;
}
body.vx-authenticated .vxLogsTimelineGroup{
  overflow:hidden;
  border:1px solid rgba(137,155,181,.12);
  border-radius:13px;
  background:rgba(3,7,12,.24);
}
body.vx-authenticated .vxLogsTimelineGroupHead{
  display:flex;
  align-items:center;
  justify-content:space-between;
  min-height:49px;
  padding:0 14px;
  border-bottom:1px solid rgba(137,155,181,.1);
  background:rgba(255,255,255,.018);
}
body.vx-authenticated .vxLogsTimelineGroupHead > div{display:flex;align-items:center;gap:9px}
body.vx-authenticated .vxLogsTimelineGroupHead span{color:#dfe6ef;font-size:12px;font-weight:790}
body.vx-authenticated .vxLogsTimelineGroupHead small{
  padding:2px 7px;
  border:1px solid rgba(128,146,171,.13);
  border-radius:999px;
  color:#7e8ca0;
  font-size:9px;
}
body.vx-authenticated .vxLogsTimelineRows{position:relative;padding:5px 0}
body.vx-authenticated .vxLogsTimelineRows::before{
  content:"";
  position:absolute;
  left:25px;
  top:10px;
  bottom:10px;
  width:1px;
  background:linear-gradient(rgba(113,144,255,.3),rgba(113,144,255,.04));
}
body.vx-authenticated .vxLogsTimelineRow{
  position:relative;
  width:100%;
  min-height:66px;
  display:grid;
  grid-template-columns:20px 142px minmax(0,1fr) auto;
  align-items:center;
  gap:10px;
  padding:9px 13px 9px 16px;
  border:0;
  border-radius:0;
  background:transparent;
  color:inherit;
  text-align:left;
  box-shadow:none;
}
body.vx-authenticated .vxLogsTimelineRow:hover{
  transform:none;
  background:rgba(255,255,255,.028);
}
body.vx-authenticated .vxLogsTimelineDot{
  position:relative;
  z-index:2;
  width:9px;
  height:9px;
  justify-self:center;
  border:2px solid #0b111a;
  border-radius:50%;
  background:#70a0ff;
  box-shadow:0 0 0 3px rgba(112,160,255,.12);
}
body.vx-authenticated .vxLogsTimelineRow.is-warn .vxLogsTimelineDot{background:#e4b14f;box-shadow:0 0 0 3px rgba(228,177,79,.12)}
body.vx-authenticated .vxLogsTimelineRow.is-bad .vxLogsTimelineDot{background:#ef6e78;box-shadow:0 0 0 3px rgba(239,110,120,.13)}
body.vx-authenticated .vxLogsTimelineTime{color:#77879b;font-size:10px;font-variant-numeric:tabular-nums}
body.vx-authenticated .vxLogsTimelineMain{min-width:0;display:grid;gap:3px}
body.vx-authenticated .vxLogsTimelineMain b{color:#dfe6ef;font-size:11px;text-transform:uppercase;letter-spacing:.04em}
body.vx-authenticated .vxLogsTimelineMain > span{overflow:hidden;color:#b3bfce;font-size:12px;line-height:1.35;text-overflow:ellipsis;white-space:nowrap}
body.vx-authenticated .vxLogsTimelineMain small{overflow:hidden;color:#6f8095;font-size:10px;text-overflow:ellipsis;white-space:nowrap}
body.vx-authenticated .vxLogsTimelineOpen{
  padding:5px 8px;
  border:1px solid rgba(117,137,166,.14);
  border-radius:8px;
  color:#8595aa;
  font-size:9px;
  font-weight:760;
}
body.vx-authenticated .vxLogsCompactHint{color:#7d8ca0;font-size:11px}
body.vx-authenticated .vxLogsTableWrap{
  max-height:calc(100vh - 320px);
  overflow:auto;
  border:1px solid rgba(137,155,181,.12);
  border-radius:12px;
}
body.vx-authenticated .vxLogsTable{
  width:100%;
  min-width:900px;
  border-collapse:separate;
  border-spacing:0;
  table-layout:fixed;
}
body.vx-authenticated .vxLogsTable th{
  position:sticky;
  top:0;
  z-index:2;
  padding:10px 11px;
  border-bottom:1px solid rgba(137,155,181,.13);
  background:#0d141e;
  color:#718197;
  font-size:9px;
  font-weight:840;
  letter-spacing:.07em;
  text-align:left;
  text-transform:uppercase;
}
body.vx-authenticated .vxLogsTable th:nth-child(1){width:145px}
body.vx-authenticated .vxLogsTable th:nth-child(2){width:140px}
body.vx-authenticated .vxLogsTable th:nth-child(3){width:190px}
body.vx-authenticated .vxLogsTable th:nth-child(5){width:140px}
body.vx-authenticated .vxLogsTable td{
  padding:10px 11px;
  border-bottom:1px solid rgba(137,155,181,.075);
  color:#aeb9c8;
  font-size:11px;
  line-height:1.35;
  vertical-align:middle;
}
body.vx-authenticated .vxLogsTable tr:last-child td{border-bottom:0}
body.vx-authenticated .vxLogsTable tbody tr{cursor:pointer;outline:0}
body.vx-authenticated .vxLogsTable tbody tr:hover,
body.vx-authenticated .vxLogsTable tbody tr:focus{background:rgba(113,144,255,.055)}
body.vx-authenticated .vxLogsTable td small{display:block;margin-top:3px;color:#6e7f94;font-size:9px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
body.vx-authenticated .vxLogsTable td:nth-child(4){overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
body.vx-authenticated .vxLogsTableType{
  display:inline-flex;
  align-items:center;
  min-height:20px;
  padding:0 7px;
  border:1px solid rgba(100,210,155,.25);
  border-radius:999px;
  background:rgba(53,175,112,.08);
  color:#8bd4ad;
  font-size:9px;
  font-weight:800;
  letter-spacing:.03em;
  text-transform:uppercase;
}
body.vx-authenticated .vxLogsTableType.is-warn{border-color:rgba(228,177,79,.27);background:rgba(228,177,79,.08);color:#dfbd78}
body.vx-authenticated .vxLogsTableType.is-bad{border-color:rgba(239,110,120,.28);background:rgba(239,110,120,.08);color:#ef9aa1}
body.vx-authenticated .vxLogsEmpty{
  padding:32px 18px;
  color:#74849a;
  font-size:12px;
  text-align:center;
}
@keyframes vxLogsViewIn{from{opacity:.55;transform:translateY(3px)}to{opacity:1;transform:none}}

@media(max-width:1250px){
  body.vx-authenticated #tab-logs > .logs-topbar{grid-template-columns:1fr}
  body.vx-authenticated #tab-logs .logs-left{grid-template-columns:repeat(3,minmax(110px,1fr))}
  body.vx-authenticated #tab-logs .logs-geo{grid-column:span 2}
  body.vx-authenticated #tab-logs .logs-list,
  body.vx-authenticated #tab-logs .logs-detail{max-height:620px}
}
@media(max-width:900px){
  body.vx-authenticated .vxLogsHeading{flex-direction:column}
  body.vx-authenticated .vxLogsModes{width:100%;box-sizing:border-box}
  body.vx-authenticated .vxLogsMode{flex:1}
  body.vx-authenticated .vxLogsStats{grid-template-columns:repeat(2,minmax(0,1fr))}
  body.vx-authenticated #tab-logs > .logs-body{grid-template-columns:1fr}
  body.vx-authenticated #tab-logs .logs-left{grid-template-columns:repeat(2,minmax(0,1fr))}
  body.vx-authenticated #tab-logs .logs-geo{grid-column:1/-1}
  body.vx-authenticated .vxLogsTimelineRow{grid-template-columns:20px 105px minmax(0,1fr)}
  body.vx-authenticated .vxLogsTimelineOpen{display:none}
}
@media(max-width:620px){
  body.vx-authenticated .vxLogsHeader{padding:15px}
  body.vx-authenticated .vxLogsHeading h2{font-size:25px}
  body.vx-authenticated .vxLogsModes{overflow-x:auto}
  body.vx-authenticated .vxLogsMode{flex:0 0 auto}
  body.vx-authenticated #tab-logs .logs-left{grid-template-columns:1fr}
  body.vx-authenticated #tab-logs .logs-geo{grid-column:auto}
  body.vx-authenticated #tab-logs .logs-actions > *{width:100%}
  body.vx-authenticated #tab-logs .logs-status-row{flex-direction:column}
  body.vx-authenticated #tab-logs .logs-hint{text-align:left}
  body.vx-authenticated .vxLogsAltToolbar{align-items:stretch;flex-direction:column}
  body.vx-authenticated .vxLogsTimelineControls{align-items:stretch;flex-direction:column}
  body.vx-authenticated .vxLogsTimelineControls select,
  body.vx-authenticated .vxLogsTimelineControls input{width:100%;min-width:0;box-sizing:border-box}
  body.vx-authenticated .vxLogsTimelineRow{grid-template-columns:18px minmax(0,1fr);gap:8px;padding-left:12px}
  body.vx-authenticated .vxLogsTimelineTime{grid-column:2;color:#6e7f94}
  body.vx-authenticated .vxLogsTimelineMain{grid-column:2}
  body.vx-authenticated .vxLogsTimelineRows::before{left:20px}
}
#vx-app-sidebar .tab:is(.vxPlanLocked,.vxTicketPermissionLocked){width:100%!important;min-width:0!important}


/* VX Platform redesign patch 4 — access visibility and ticket permissions */
.vxSidebarSectionHead{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
  padding:16px 8px 7px 10px;
}
.vxSidebarSectionHead .vxSidebarSectionLabel{padding:0;min-width:0}
.vxSidebarVisibilityToggle{
  width:29px!important;
  min-width:29px!important;
  height:29px!important;
  min-height:29px!important;
  padding:0!important;
  display:inline-flex!important;
  align-items:center;
  justify-content:center;
  flex:0 0 auto;
  border:1px solid rgba(126,145,173,.14)!important;
  border-radius:8px!important;
  background:rgba(255,255,255,.025)!important;
  color:#69788d!important;
  box-shadow:none!important;
}
.vxSidebarVisibilityToggle:hover{
  color:#b9c7dc!important;
  border-color:rgba(126,151,198,.3)!important;
  background:rgba(113,144,255,.075)!important;
  transform:none!important;
}
.vxSidebarVisibilityToggle.is-active{
  color:#aebeff!important;
  border-color:rgba(113,144,255,.4)!important;
  background:rgba(113,144,255,.12)!important;
}
.vxSidebarVisibilityToggle svg{
  width:15px;
  height:15px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
}
body.vx-sidebar-collapsed .vxSidebarSectionHead{
  justify-content:center;
  padding:14px 0 7px;
}
body.vx-sidebar-collapsed .vxSidebarSectionHead .vxSidebarSectionLabel{display:none}
body.vx-sidebar-collapsed .vxSidebarVisibilityToggle{
  width:34px!important;
  min-width:34px!important;
  height:34px!important;
  min-height:34px!important;
}
body.vx-hide-unavailable-modules #vx-app-sidebar .tabs > .tab.locked{
  display:none!important;
}
#vx-app-sidebar .tab.vxTicketPermissionLocked :is(.vxNavPlanLock,.vxNavPermissionLock){
  border-color:rgba(232,174,86,.18)!important;
  background:rgba(54,36,12,.2)!important;
  color:#bba67e!important;
}
#vx-app-sidebar .tab.vxTicketPermissionLocked .vxNavLockIcon{
  border-color:rgba(232,174,86,.2)!important;
  background:rgba(232,174,86,.07)!important;
  color:#c7aa72!important;
}
.vxLocalNotifyItem .notify-title{display:flex;align-items:center;gap:7px}
.vxLocalNotifyItem .notify-title::before{content:'🎫';font-size:13px}
.vxLocalNotificationToast{cursor:pointer}
@media(max-width:820px){
  .vxSidebarSectionHead{padding-top:13px}
}


/* VX Platform redesign patch 5 — social identity, SA profiles, public consolidation */
body.vx-authenticated .vxProfileSocialStatus .danger:not(.hidden){display:inline-flex!important}
body.vx-authenticated .vxProfileSocialStatus .danger.hidden{display:none!important}
body.vx-authenticated .vxProfileSocialLabel{display:inline-flex;align-items:center;gap:7px}
body.vx-authenticated .vxProfileSocialIcon{width:17px;height:17px;object-fit:contain;flex:0 0 auto;filter:drop-shadow(0 2px 7px rgba(0,0,0,.3))}
body.vx-authenticated .vxTelegramProfileTop{align-items:flex-start}
body.vx-authenticated .vxTelegramProfileMeta{padding-left:24px;line-height:1.45}

body.vx-authenticated .vxSaSocialAccounts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:12px 0 14px}
body.vx-authenticated .vxSaSocialAccount{position:relative;display:grid;gap:7px;min-width:0;padding:13px;border:1px solid var(--vx-line);border-radius:13px;background:rgba(5,9,15,.43)}
body.vx-authenticated .vxSaSocialAccount.is-linked{border-color:rgba(54,211,153,.24);background:linear-gradient(145deg,rgba(23,68,55,.2),rgba(5,12,17,.52))}
body.vx-authenticated .vxSaSocialAccount.is-off{opacity:.68}
body.vx-authenticated .vxSaSocialHead{display:flex;align-items:center;justify-content:space-between;gap:10px}
body.vx-authenticated .vxSaSocialHead>span{display:inline-flex;align-items:center;gap:7px;font-weight:800}
body.vx-authenticated .vxSaSocialHead img{width:18px;height:18px;object-fit:contain}
body.vx-authenticated .vxSaSocialHead b{padding:4px 7px;border-radius:999px;background:rgba(239,68,68,.11);color:#fca5a5;font-size:10px;text-transform:uppercase;letter-spacing:.04em}
body.vx-authenticated .vxSaSocialAccount.is-linked .vxSaSocialHead b{background:rgba(34,197,94,.12);color:#86efac}
body.vx-authenticated .vxSaSocialAccount>strong{overflow:hidden;text-overflow:ellipsis}
body.vx-authenticated .vxSaSocialAccount>small{min-height:32px;color:var(--vx-muted);line-height:1.45;overflow-wrap:anywhere}
body.vx-authenticated .vxSaSocialUnlink{justify-self:start;width:auto!important;min-width:0!important;min-height:30px!important;padding:0 10px!important;font-size:11px!important}

.vx-public-consolidation{display:grid;grid-template-columns:minmax(0,.86fr) minmax(420px,1.14fr);gap:28px;align-items:center;padding:30px;border:1px solid rgba(139,158,195,.14);border-radius:24px;background:radial-gradient(circle at 12% 20%,rgba(113,144,255,.13),transparent 39%),linear-gradient(145deg,rgba(20,28,42,.88),rgba(8,13,21,.82))}
.vx-public-consolidation__copy h2{margin:10px 0 12px;font-size:clamp(25px,3.4vw,40px);line-height:1.08}
.vx-public-consolidation__copy p{max-width:660px;color:#aeb9c9;line-height:1.7}
.vx-public-consolidation__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
.vx-public-consolidation__grid>div{display:flex;align-items:center;gap:11px;min-width:0;padding:12px;border:1px solid rgba(255,255,255,.08);border-radius:14px;background:rgba(5,9,15,.48)}
.vx-public-consolidation__grid>div.is-result{border-color:rgba(243,200,75,.28);background:linear-gradient(135deg,rgba(243,200,75,.12),rgba(113,144,255,.08))}
.vx-public-consolidation__grid img,.vx-public-consolidation__glyph{display:grid;place-items:center;width:30px;height:30px;flex:0 0 30px;object-fit:contain;border-radius:9px}
.vx-public-consolidation__glyph{background:rgba(113,144,255,.12);color:#dce4ff;font-size:14px;font-weight:900}
.vx-public-consolidation__grid span:last-child{display:grid;min-width:0;gap:2px}
.vx-public-consolidation__grid b{font-size:13px}
.vx-public-consolidation__grid small{color:#8996a9;font-size:11px;line-height:1.35}
@media(max-width:900px){.vx-public-consolidation{grid-template-columns:1fr}.vx-public-consolidation__grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:680px){body.vx-authenticated .vxSaSocialAccounts{grid-template-columns:1fr}.vx-public-consolidation{padding:20px}.vx-public-consolidation__grid{grid-template-columns:1fr 1fr}}
@media(max-width:430px){.vx-public-consolidation__grid{grid-template-columns:1fr}}

/* Patch 6: centered legal links */
.vxLegalFooter{
  position:fixed;
  left:50%;
  bottom:12px;
  z-index:35;
  transform:translateX(-50%);
  display:flex;
  align-items:center;
  justify-content:center;
  gap:9px;
  max-width:calc(100vw - 32px);
  padding:7px 12px;
  border:1px solid rgba(148,163,184,.22);
  border-radius:12px;
  background:rgba(8,12,24,.84);
  box-shadow:0 8px 28px rgba(0,0,0,.18);
  backdrop-filter:blur(10px);
  font-size:11px;
  white-space:nowrap;
}
.vxLegalFooter a{color:#91a0ba;text-decoration:none;transition:color .16s ease}
.vxLegalFooter a:hover{color:#dbe7ff}
.vxLegalFooter span{color:#4c5a72}
body.vx-sidebar-collapsed .vxLegalFooter{left:50%}

/* Super-admin store emergency control */
.vxStoreAdminBlock{
  margin-bottom:18px;
  padding:16px;
  border:1px solid rgba(52,211,153,.24);
  border-radius:14px;
  background:linear-gradient(145deg,rgba(16,185,129,.08),rgba(15,23,42,.56));
}
.vxStoreAdminBlock.is-locked{
  border-color:rgba(245,158,11,.38);
  background:linear-gradient(145deg,rgba(245,158,11,.11),rgba(15,23,42,.62));
}
.vxStoreAdminHead{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}
.vxStoreAdminHead strong{display:block;font-size:15px;color:#edf4ff}
.vxStoreAdminHead p{max-width:640px;margin:5px 0 0;color:#91a0b7;font-size:12px;line-height:1.5}
.vxStoreAdminSwitch{display:inline-flex;align-items:center;gap:9px;flex:0 0 auto;padding:9px 11px;border:1px solid rgba(148,163,184,.2);border-radius:11px;background:rgba(8,13,24,.58);font-size:12px;font-weight:800;cursor:pointer}
.vxStoreAdminSwitch input{width:18px;height:18px;accent-color:#f59e0b}
.vxStoreAdminMessage{display:grid;gap:7px;margin-top:14px;color:#9eabc0;font-size:12px;font-weight:700}
.vxStoreAdminMessage textarea{min-height:74px;resize:vertical}
@media(max-width:700px){.vxStoreAdminHead{flex-direction:column}.vxStoreAdminSwitch{width:100%;justify-content:center}.vxLegalFooter{bottom:8px}}

/* Discord reconnect state */
.vxBotReconnectPanel{border-color:rgba(248,113,113,.35)!important;background:linear-gradient(145deg,rgba(64,25,31,.45),rgba(13,21,31,.98))!important}
.vxBotReconnectPanel .vxBotConnection{border-color:rgba(248,113,113,.3);background:rgba(44,20,25,.48)}
.vxBotReconnectGuild{margin-top:7px;color:#aebed1;font-size:12px}
.vxBotReconnectNotice{display:flex;align-items:center;gap:10px;padding:11px 12px;border:1px solid rgba(248,113,113,.25);border-radius:10px;background:rgba(127,29,29,.16)}
.vxBotReconnectNotice>span{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:rgba(248,113,113,.18);color:#fca5a5;font-weight:900}
.vxBotReconnectNotice>div{display:grid;gap:2px}
.vxBotReconnectNotice small{color:#9eafc3}


/* Patch 10: direct log -> production map navigation */
.logs-item{position:relative}
.logs-item>.vxLogMapButton{margin:10px 12px 12px auto}
.vxLogMapButton{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:34px;padding:7px 11px;border:1px solid rgba(78,203,157,.3);border-radius:10px;background:rgba(51,168,126,.11);color:#baf4de;font:700 12px/1.15 inherit;white-space:nowrap;cursor:pointer;transition:.18s ease}
.vxLogMapButton:hover{border-color:rgba(93,225,176,.58);background:rgba(51,168,126,.2);transform:translateY(-1px)}
.vxLogMapButtonIcon{font-size:15px;line-height:1}
.vxLogMapButton.is-locked,.vxLogMapButton:disabled{border-color:rgba(126,137,153,.18);background:rgba(89,98,112,.08);color:#66717f;cursor:not-allowed;transform:none;filter:saturate(.45)}
.vxLogsTimelineActions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}
.vxLogsTimelineRow .vxLogMapButton{pointer-events:auto;min-height:30px;padding:5px 8px;font-size:11px}
.vxLogsTimelineRow .vxLogMapButton.is-locked{pointer-events:none}
.vxLogsTableMap{width:1%;white-space:nowrap}
.vxLogsTableMap .vxLogMapButton{min-height:30px;padding:5px 8px;font-size:11px}
@media(max-width:760px){.vxLogMapButton span:last-child{display:none}.vxLogMapButton{width:34px;padding:6px}.logs-item>.vxLogMapButton span:last-child{display:inline}.logs-item>.vxLogMapButton{width:auto;padding:7px 10px}.vxLogsTimelineActions{min-width:36px}}

/* VX SA destructive user actions */
.vxSaDangerZone{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center;
  gap:18px;
  margin-top:14px!important;
  padding:16px!important;
  border:1px solid rgba(255,86,105,.42)!important;
  border-radius:14px;
  background:linear-gradient(135deg,rgba(104,20,34,.22),rgba(37,12,19,.3));
}
.vxSaDangerZone>b,.vxSaDangerZone b{color:#ff9aa7}
.vxSaDeleteUser{white-space:nowrap;background:rgba(145,29,47,.38)!important;border-color:rgba(255,91,111,.55)!important;color:#ffdce1!important}
.vxSaDeleteUser:hover{background:rgba(180,34,55,.56)!important}
@media(max-width:760px){.vxSaDangerZone{grid-template-columns:1fr}.vxSaDeleteUser{width:100%;white-space:normal}}
