/* Visucio 1.25: one calm client shell, shared with the existing Core. */
.vis-ui .premium-shell { --core-header: 82px; --sidebar-width: 0px; display: block; min-height: 100dvh; padding-top: 0; background: var(--vis-bg); }
.vis-ui .premium-shell .client-header { position: fixed; inset: 0 0 auto; z-index: 80; height: var(--core-header); display: flex; gap: 20px; padding: 0 clamp(18px,3vw,46px); background: color-mix(in srgb,var(--vis-surface) 88%,transparent); border-bottom: 1px solid color-mix(in srgb,var(--vis-border) 72%,transparent); box-shadow: none; backdrop-filter: blur(22px); }
.vis-ui .premium-shell .client-brand { display:flex;align-items:center;gap:12px;flex:none; }
.vis-ui .premium-shell .client-brand img { width:112px;max-width:112px;height:auto; }
.vis-ui .premium-shell .client-brand a { display:flex;align-items:center; }
.vis-ui .premium-shell .client-mobile-menu { display:inline-flex;align-items:center;justify-content:center;width:40px;height:44px; }
.vis-ui .premium-shell #client-context-slot { min-width:135px;max-width:215px;flex:0 1 200px; }
.vis-ui .premium-shell .client-context-control { position:relative;display:flex;flex-direction:column;gap:2px;padding:7px 25px 7px 0;min-width:0; }
.vis-ui .premium-shell .client-context-control>span { font-size:10px;line-height:1.4;color:var(--vis-muted);font-weight:500; }
.vis-ui .premium-shell .client-context-control select { appearance:none;-webkit-appearance:none;outline-offset:4px;background:transparent;border:0;border-radius:5px;padding:0;min-height:25px;height:25px;width:100%;font-family:inherit;font-size:12px;font-weight:600;color:var(--vis-ink);text-overflow:ellipsis;cursor:pointer;box-shadow:none; }
.vis-ui .premium-shell .client-context-control select:focus-visible { outline:2px solid var(--vis-brand); }
.vis-ui .premium-shell .client-context-control>svg { position:absolute;right:3px;bottom:11px;width:13px;height:13px;transform:rotate(90deg);pointer-events:none;color:var(--vis-muted); }
.vis-ui .premium-shell .client-top-nav { display:flex;gap:2px;flex:none;margin-inline:auto;max-width:none;padding:4px;border:0;background:transparent; }
.vis-ui .premium-shell .client-top-nav button { min-height:42px;padding:10px 12px;font-size:11px;letter-spacing:-.015em;font-weight:550;border-radius:12px;white-space:nowrap; }
.vis-ui .premium-shell .client-top-nav .client-top-nav-indicator { border-radius:12px;background:var(--vis-accent-soft);box-shadow:none; }
.vis-ui .premium-shell .client-top-nav button.active { color:var(--vis-accent-ink); }
.vis-ui .premium-shell .client-header-actions { margin-left:auto;display:flex;gap:7px;flex:none; }
.vis-ui .premium-shell .client-header-actions>.icon-button { width:40px;min-width:40px;min-height:44px; }
.vis-ui .premium-profile-button { display:flex;gap:10px;align-items:center;background:transparent;border:0;border-radius:12px;cursor:pointer;padding:4px;color:var(--vis-ink);font:inherit; }
.vis-ui .premium-profile-button .client-avatar { width:35px;height:35px;border:1px solid var(--vis-border);border-radius:50%;background:var(--vis-accent-soft);color:var(--vis-accent-ink);font-size:11px;display:grid;place-items:center; }
.vis-ui .premium-profile-button .client-header-greeting { color:var(--vis-ink);font-size:11px;font-weight:550;max-width:95px; }
.vis-ui .premium-shell .client-header-advisor-slot { min-width:0;flex:0 1 165px; }
.vis-ui .premium-shell .client-advisor-mini-copy strong { max-width:90px; }
.vis-ui .premium-shell .client-advisor-contact { min-height:40px;border:0;background:var(--vis-accent-soft); }
.vis-ui .premium-shell .client-main { margin:0;padding:var(--core-header) 0 0;min-height:100dvh;width:100%; }
.vis-ui .premium-shell .client-main>.page { max-width:1220px;margin-inline:auto;padding:42px clamp(22px,4vw,52px) 86px; }
.vis-ui .premium-shell .client-main>.page.visuai-page { max-width:1360px;padding-top:18px; }
.vis-ui .premium-shell .client-sidebar { position:fixed;inset:0 auto 0 0;z-index:110;width:min(320px,88vw);height:100dvh;top:0;border-right:1px solid var(--vis-border);background:var(--vis-surface);transform:translateX(-105%);visibility:hidden;box-shadow:none;padding:22px 18px;display:flex;flex-direction:column;transition:transform .22s ease,visibility .22s; }
.vis-ui .premium-shell .client-sidebar.open { transform:translateX(0);visibility:visible;box-shadow:20px 0 80px rgb(5 12 30 / 12%); }
.vis-ui .premium-shell .client-sidebar .nav { overflow-y:auto;flex:1; }
.vis-ui .premium-menu-heading { display:flex;align-items:center;justify-content:space-between;gap:10px;padding:0 8px 18px;margin-bottom:12px;border-bottom:1px solid var(--vis-border); }
.vis-ui .premium-menu-heading strong { font-size:17px;font-weight:600;letter-spacing:-.03em; }
.vis-ui .premium-shell .drawer-backdrop.open { display:block;position:fixed;inset:0;z-index:100;background:rgb(10 17 32 / 28%);backdrop-filter:blur(3px); }
.vis-ui .premium-shell .client-sidebar .profile-compact { display:flex; }
.vis-ui .premium-profile-links { display:flex;gap:9px;flex-wrap:wrap;margin:0 0 24px; }
.vis-ui .premium-profile-links .button { min-height:44px;border-radius:12px;font-size:12px; }
.vis-ui .premium-shell .mobile-nav { display:none; }
.vis-ui .premium-shell :is(button,a,input,select,textarea):focus-visible { outline:2px solid var(--vis-brand);outline-offset:3px; }
.vis-ui .pwa-install-chip { position:fixed;z-index:85;right:20px;bottom:max(20px,env(safe-area-inset-bottom));display:flex;align-items:center;background:var(--vis-surface,#fff);border:1px solid var(--vis-border,#e2e7ef);border-radius:14px;box-shadow:0 4px 20px rgb(20 32 58 / 8%);max-width:185px;overflow:hidden;color:var(--vis-ink,#202733); }
.vis-ui .pwa-install-chip[hidden] { display:none!important; }
.vis-ui .pwa-install-chip button { border:0;background:transparent;color:inherit;font:inherit;cursor:pointer;min-height:44px; }
.vis-ui .pwa-install-chip [data-pwa-install] { display:flex;align-items:center;gap:7px;padding:0 10px 0 14px;font-size:11px;font-weight:600; }
.vis-ui .pwa-install-chip [data-pwa-install] svg { width:17px;height:17px;color:var(--vis-accent-ink,#3459c4); }
.vis-ui .pwa-install-chip [data-pwa-dismiss] { width:36px;min-width:36px;font-size:20px;font-weight:400;color:var(--vis-muted,#6f7785);border-left:1px solid var(--vis-border,#e2e7ef); }
.vis-ui .pwa-install-chip button:hover { background:var(--vis-accent-soft,#f0f4ff); }
.vis-ui .pwa-install-chip button:focus-visible { outline:2px solid var(--vis-brand,#678fff);outline-offset:-4px; }
.vis-ui:has(.modal-backdrop) .pwa-install-chip,.vis-ui:has(#notification-drawer) .pwa-install-chip,.drawer-open .pwa-install-chip { visibility:hidden; }
@media(max-width:1540px) { .vis-ui .premium-shell .client-header-advisor-slot{display:none;} }
@media(max-width:1220px) { .vis-ui .premium-shell .client-header{gap:13px;padding-inline:22px;} .vis-ui .premium-shell .client-brand img{width:98px;} .vis-ui .premium-shell #client-context-slot{max-width:150px;min-width:105px;flex-basis:140px;} .vis-ui .premium-shell .client-top-nav button{padding-inline:9px;font-size:10px;} .vis-ui .premium-profile-button .client-header-greeting{display:none;} }
@media(max-width:1024px) {
 .vis-ui .premium-shell { --core-header:80px; }
 .vis-ui .premium-shell .client-top-nav { display:none; }
 .vis-ui .premium-shell .client-header { display:flex;gap:18px;padding:0 24px;height:var(--core-header); }
 .vis-ui .premium-shell #client-context-slot { max-width:240px;min-width:100px;flex:0 1 240px; }
 .vis-ui .premium-shell .client-header-advisor-slot { display:none; }
 .vis-ui .premium-shell .mobile-nav { position:fixed;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));inset:auto 14px max(12px,env(safe-area-inset-bottom));z-index:80;width:auto;max-width:580px;margin-inline:auto;border:1px solid var(--vis-border);border-radius:20px;padding:6px;background:color-mix(in srgb,var(--vis-surface) 95%,transparent);backdrop-filter:blur(16px);box-shadow:0 4px 26px rgb(16 31 60 / 6%); }
 .vis-ui .premium-shell .mobile-nav button { min-height:55px;min-width:0;gap:5px;padding:7px 3px;border-radius:13px; }
 .vis-ui .premium-shell .mobile-nav button svg { width:20px;height:20px; }
 .vis-ui .premium-shell .mobile-nav button span { font-size:9px;line-height:1.3;letter-spacing:-.02em; }
 .vis-ui .premium-shell .mobile-nav button.active { color:var(--vis-accent-ink);background:var(--vis-accent-soft); }
 .vis-ui .premium-shell .client-main>.page { padding:32px 25px 130px; }
 .vis-ui .pwa-install-chip { right:18px;bottom:calc(92px + env(safe-area-inset-bottom)); }
 .vis-ui .premium-shell .client-main>.page.visuai-page { padding-top:10px; }
}
@media(max-width:600px) {
 .vis-ui .premium-shell{--core-header:114px;}
 .vis-ui .premium-shell .client-header{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-rows:46px 42px;gap:0 9px;padding:10px 17px 12px;}
 .vis-ui .premium-shell .client-brand{grid-row:1;grid-column:1;gap:7px;}
 .vis-ui .premium-shell .client-brand img{width:102px;max-width:102px;}
 .vis-ui .premium-shell .client-mobile-menu{width:30px;min-width:30px;height:40px;}
 .vis-ui .premium-shell .client-header-actions{grid-row:1;grid-column:2;gap:2px;}
 .vis-ui .premium-shell .client-header-actions>.icon-button{width:35px;min-width:35px;height:40px;}
 .vis-ui .premium-profile-button{padding:3px;}
 .vis-ui .premium-profile-button .client-avatar{width:31px;height:31px;font-size:10px;}
 .vis-ui .premium-shell #client-context-slot{grid-row:2;grid-column:1/-1;max-width:100%;width:100%;}
 .vis-ui .premium-shell .client-context-control{flex-direction:row;gap:8px;align-items:center;padding:7px 23px 7px 9px;border-radius:10px;background:color-mix(in srgb,var(--vis-accent-soft) 65%,transparent);}
 .vis-ui .premium-shell .client-context-control>span{flex:none;font-size:10px;}
 .vis-ui .premium-shell .client-context-control select{font-size:11px;min-height:24px;height:24px;}
 .vis-ui .premium-shell .client-context-control>svg{right:10px;bottom:13px;}
 .vis-ui .premium-shell .client-main>.page{padding:27px 19px 136px;}
 .vis-ui .premium-shell .client-main>.page.visuai-page{padding:8px 12px 104px;}
 .vis-ui .premium-shell .mobile-nav{inset-inline:10px;bottom:max(9px,env(safe-area-inset-bottom));border-radius:18px;}
 .vis-ui .premium-shell .mobile-nav button span{font-size:9px;}
 .vis-ui .pwa-install-chip{right:14px;bottom:calc(89px + env(safe-area-inset-bottom));}
}
@media(prefers-reduced-motion:reduce){.vis-ui .premium-shell *{scroll-behavior:auto!important;}.vis-ui .premium-shell .client-sidebar{transition:none;}}
@media(prefers-reduced-transparency:reduce){.vis-ui .premium-shell :is(.client-header,.mobile-nav){background:var(--vis-surface);backdrop-filter:none;}}
