/* VOLENG V25.61 — visible, unified product switcher + navigation refresh.
   Deliberately presentation-only: does not override permissions, routing, booking, or data. */
:root{--v61-blue:#2468E8;--v61-teal:#079C9B;--v61-violet:#7756D2;--v61-green:#3F9E52;--v61-ink:#102B49;--v61-soft:#F3F7FF}
.vs31-menu{width:322px!important;border:1px solid #dce7f4!important;padding:11px!important;border-radius:18px!important;box-shadow:0 24px 70px #071e3f35!important}
.vs31-menu-heading{padding:8px 11px 4px!important;font-size:10px!important;letter-spacing:.12em!important;color:#56759e!important;margin:9px 0 4px!important}
.vs31-menu-option{min-height:49px;padding:10px 11px!important;border-radius:12px!important;position:relative;gap:13px!important;transition:background .18s ease,transform .18s ease}
.vs31-menu-option:hover{background:#ecf4ff!important;transform:translateX(2px)}
.vs31-menu-copy{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1}
.vs31-menu-copy b{font-size:12px;color:#15365e;line-height:1.2;font-weight:800}
.vs31-menu-icon{width:34px!important;height:34px!important;border-radius:11px!important;background:linear-gradient(140deg,#eaf3ff,#dce9ff)!important;color:#2467d6!important}
.vs31-menu-icon svg{width:19px!important;height:19px!important}
.vs31-access-label{font-size:10px!important;color:#148270!important;font-weight:700!important;margin:0!important}
.vs31-menu-status-dot{width:7px;height:7px;background:#19aa83;border-radius:50%;box-shadow:0 0 0 4px #e3f8f0;flex:none}
.vs31-state-legacy .vs31-access-label{color:#8c641a!important}.vs31-state-legacy .vs31-menu-status-dot{background:#eab653;box-shadow:0 0 0 4px #fff5dc}
.vs31-state-inactive{opacity:.72}.vs31-state-inactive .vs31-access-label{color:#8793a5!important}.vs31-state-inactive .vs31-menu-icon{background:#f2f4f7!important;color:#788ba0!important}
.vs31-state-needs_setup .vs31-access-label{color:#b45b1d!important}.vs31-menu-status-lock{display:grid;place-items:center;flex:none;width:22px;height:22px;border-radius:7px;color:#507399;background:#f0f4f9;font-size:17px;font-weight:600}
.vs31-switch-button,.vu30-switch{border-radius:12px!important;height:38px!important;box-shadow:0 1px 3px #071d3d0b;font-weight:750!important}
.vs31-switch-button:hover,.vu30-switch:hover{box-shadow:0 5px 18px #1c6dd019}
body.vs31-shell .sidebar{width:238px!important;min-width:238px!important;flex-basis:238px!important;background:linear-gradient(180deg,#112844 0%,#0b1c31 100%)!important}
body.vs31-shell .sidebar nav :is(button,a){min-height:41px;transition:background .16s ease, color .16s ease, transform .16s ease}
body.vs31-shell .sidebar nav :is(button,a):hover{background:#22476e!important;transform:translateX(2px)}
body.vs31-shell .sidebar nav :is(button.current,button.active,a.current,a.active){background:linear-gradient(100deg,#1456d8,#2879e9)!important;color:#fff!important;box-shadow:inset 3px 0 #8cc5ff,0 4px 14px #031a3650}
body.vs31-shell .sidebar .product-name,body.vs31-shell .sidebar .product{font-weight:850}
body.vs31-shell .sidebar :is(.navGroupLabel,.sidebarLabel){letter-spacing:.11em;color:#8fb4e5}
body.vs31-shell .main :is(.panel,.card),body.vs31-shell .body :is(.panel,.card){border-radius:16px}
body.vs31-shell .main :is(button,input,select,textarea):focus-visible,body.vs31-shell .body :is(button,input,select,textarea):focus-visible{outline:2px solid #5e9eff;outline-offset:2px}
.vs31-header{box-shadow:0 2px 14px #09233f09!important}
@media(max-width:780px){body.vs31-shell .sidebar{width:238px!important;min-width:238px!important;flex-basis:238px!important}.vs31-menu{width:min(322px,calc(100vw - 22px))!important}}
@media(prefers-reduced-motion:reduce){.vs31-menu-option,body.vs31-shell .sidebar nav :is(button,a){transition:none!important;transform:none!important}}

/* V25.62: status-first Switch App — groups correspond to actual account access. */
.vs31-menu{width:356px!important;max-width:calc(100vw - 24px)!important;max-height:min(680px,calc(100vh - 88px));overflow-y:auto;overscroll-behavior:contain;scrollbar-color:#cadaed transparent;scrollbar-width:thin}
.vs31-menu-heading{font-size:10px!important;margin:14px 0 6px!important;letter-spacing:.12em!important;padding:7px 10px 4px!important;border-top:1px solid #edf1f7}
.vs31-menu-heading:first-child{border-top:0;margin-top:0!important;color:#118b5e!important}
.vs31-state-active{background:#eefbf4!important;border:1px solid #daf1e3!important;margin:0 0 5px!important}.vs31-state-active .vs31-access-label{color:#168b53!important}.vs31-state-active .vs31-menu-status-dot{background:#19a46b!important}
.vs32-ops-panel{margin:2px 3px 11px;padding:11px;border:1px solid #dfebf9;border-radius:13px;background:#f5f9ff}
.vs32-ops-title{display:flex;align-items:center;gap:8px;color:#194670;margin-bottom:11px}.vs32-ops-title svg{width:17px;height:17px;color:#2f74dc}.vs32-ops-title b{font-size:12px;font-weight:850;flex:1}.vs32-ops-title small{font-size:10px;color:#5c7faf;background:#e5efff;border-radius:8px;padding:4px 7px}
.vs32-ops-grid{display:grid;grid-template-columns:1fr 1fr;gap:5px}.vs32-ops-link{display:flex;align-items:center;gap:7px;border:1px solid transparent;border-radius:9px;color:#294e7b;padding:9px 7px;min-width:0;font-size:11px;font-weight:800}.vs32-ops-link svg{width:17px;height:17px;flex:none;color:#4388e3}.vs32-ops-link:hover{background:#fff;border-color:#d6e8fe}.vs32-ops-link span{min-width:0}
.vs32-inactive-option{display:flex;align-items:center;gap:11px;color:#8798ac;padding:8px 11px;border-radius:10px}.vs32-inactive-option:hover{background:#f4f7fa}.vs32-inactive-option>svg{width:24px;height:24px;color:#8295ad}.vs32-inactive-option>span{display:flex;flex-direction:column;min-width:0;gap:3px}.vs32-inactive-option b{font-size:11px;color:#67798d}.vs32-inactive-option small{font-size:10px;color:#95a3b6;line-height:1.3}
.vs32-menu-empty{font-size:11px;color:#8a9bab;padding:6px 12px}.vs32-menu-footer{position:sticky;bottom:-11px;display:flex;align-items:center;gap:9px;background:#fff;color:#245ab0;font-weight:850;font-size:11px;padding:13px 12px 10px;border-top:1px solid #e3ecf7;text-decoration:none;margin:10px -2px -6px}.vs32-menu-footer svg{width:17px;height:17px}.vs32-menu-footer span{flex:1}
@media(max-width:560px){.vs31-menu{width:min(356px,calc(100vw - 24px))!important}}
