/* Visucio glass: bounded aurora, legible surfaces and a shared real-state loader. */
.vis-ui .premium-shell {
 --glass-ink:#182744;--glass-muted:#53627d;--glass-surface:rgba(255,255,255,.68);--glass-edge:rgba(255,255,255,.92);
 --glass-soft:rgba(237,243,255,.76);--glass-border:rgba(117,141,189,.2);
 background:radial-gradient(ellipse at 17% 4%,rgba(103,143,255,.13),transparent 42%),radial-gradient(ellipse at 89% 22%,rgba(174,144,242,.09),transparent 43%),#f7f9ff;
 color:var(--glass-ink);
}
[data-theme=dark] .vis-ui .premium-shell {
 --glass-ink:#f0f4ff;--glass-muted:#b5c3da;--glass-surface:rgba(25,35,54,.76);--glass-edge:rgba(198,213,250,.17);
 --glass-soft:rgba(34,48,75,.76);--glass-border:rgba(155,179,224,.24);
 background:radial-gradient(ellipse at 15% 0%,rgba(85,120,230,.14),transparent 48%),radial-gradient(ellipse at 84% 29%,rgba(157,110,230,.1),transparent 44%),#101724;
}
.vis-ui .premium-shell .client-header {background:var(--glass-surface);border-bottom-color:var(--glass-edge);backdrop-filter:blur(24px) saturate(145%);-webkit-backdrop-filter:blur(24px) saturate(145%);}
.vis-ui .premium-shell .client-experience {color:var(--glass-ink);--vis-muted:var(--glass-muted);--vis-ink:var(--glass-ink);}
.vis-ui .premium-shell .ce-hero {position:relative;isolation:isolate;padding-top:24px;padding-bottom:42px;}
.vis-ui .premium-shell .ce-hero::before {content:'';position:absolute;z-index:-1;inset:75px -35px 36px;border-radius:50%;background:conic-gradient(from 120deg,rgba(103,143,255,.20),rgba(139,112,255,.14),rgba(84,181,222,.12),rgba(103,143,255,.2));filter:blur(48px);opacity:.72;pointer-events:none;transform-origin:center;animation:vis-glass-aura 12s ease-in-out infinite alternate;}
.vis-ui .premium-shell .ce-hero-heading {margin-bottom:32px;}
.vis-ui .premium-shell .ce-command {position:relative;padding:25px 25px 19px;border-radius:26px;background:var(--glass-surface);border:1px solid var(--glass-edge);box-shadow:0 8px 36px rgba(58,79,133,.08),inset 0 1px 0 var(--glass-edge);backdrop-filter:blur(22px) saturate(150%);-webkit-backdrop-filter:blur(22px) saturate(150%);}
.vis-ui .premium-shell .ce-command:focus-within {border-color:#678fff;box-shadow:0 0 0 3px rgba(103,143,255,.17),0 12px 45px rgba(100,112,213,.12);}
.vis-ui .premium-shell .ce-command textarea,.vis-ui .premium-shell .ce-command textarea:focus,.vis-ui .premium-shell .ce-command textarea:focus-visible {outline:none!important;outline-offset:0;border:0!important;box-shadow:none!important;border-radius:0;background:transparent!important;color:var(--glass-ink)!important;-webkit-text-fill-color:var(--glass-ink);caret-color:var(--vis-brand);font-size:16px;line-height:1.75;}
.vis-ui .premium-shell .ce-command textarea::placeholder {color:var(--glass-muted);-webkit-text-fill-color:var(--glass-muted);opacity:1;}
.vis-ui .premium-shell .ce-command-brand {color:var(--vis-brand);filter:drop-shadow(0 0 11px rgba(103,143,255,.22));}
.vis-ui .premium-shell .ce-command-caption {color:var(--glass-muted);font-size:11px;padding-top:13px;}
.vis-ui .premium-shell .ce-command-caption>span {color:var(--vis-accent-ink);}
.vis-ui .premium-shell .ce-command-send {width:46px;height:46px;border-radius:15px;box-shadow:inset 0 1px 0 rgba(255,255,255,.36);}
.vis-ui .premium-shell :is(.ce-planning-surface,.ce-journey,.ce-advisor,.ce-empty-state) {background:var(--glass-surface);border:1px solid var(--glass-edge);box-shadow:0 6px 25px rgba(42,62,100,.045),inset 0 1px 0 var(--glass-edge);backdrop-filter:blur(16px) saturate(135%);-webkit-backdrop-filter:blur(16px) saturate(135%);}
.vis-ui .premium-shell :is(.ce-shortcut,.ce-secondary) {background:var(--glass-surface);color:var(--glass-ink);border:1px solid var(--glass-border);box-shadow:inset 0 1px 0 var(--glass-edge);}
.vis-ui .premium-shell :is(.ce-shortcut,.ce-secondary):hover {background:var(--glass-soft);border-color:rgba(103,143,255,.5);}
.vis-ui .premium-shell .ce-metric-state {color:var(--glass-muted);}
.vis-ui .premium-shell .ce-metric.is-unknown dd {color:var(--glass-muted);}
.vis-ui .premium-shell .ce-journey-kind,.vis-ui .premium-shell .ce-overline {color:var(--glass-muted);}
.vis-ui .premium-shell .ce-goal {background:var(--glass-soft);border:1px solid var(--glass-border);}
.vis-ui .premium-shell .ce-shortcuts {padding-top:5px;gap:9px;}
.vis-ui .premium-shell .mobile-nav {background:var(--glass-surface);border-color:var(--glass-edge);backdrop-filter:blur(22px) saturate(160%);-webkit-backdrop-filter:blur(22px) saturate(160%);}
.vis-ui .premium-shell .ce-explore {border-color:var(--glass-border);}
.vis-orb-loader {display:flex;flex-direction:column;align-items:center;justify-content:center;gap:22px;min-height:240px;padding:34px 18px;color:var(--vis-muted,#53627d);font:500 13px/1.6 var(--vis-font,system-ui);text-align:center;}
.vis-orb-loader__orbit {position:relative;display:block;flex:none;width:66px;height:66px;animation:vis-orb-orbit 5s linear infinite;}
.vis-orb-loader__orb {position:absolute;display:block;width:31px;height:31px;border-radius:50%;background:radial-gradient(circle at 30% 24%,#d8e6ff 0,#8aaaff 30%,#678fff 67%,#4a69dd);box-shadow:inset 1px 2px 4px rgba(255,255,255,.42),0 0 19px rgba(103,143,255,.2);}
.vis-orb-loader__orb:nth-child(1) {left:3px;top:1px;}
.vis-orb-loader__orb:nth-child(2) {right:1px;top:23px;background:radial-gradient(circle at 30% 24%,#e7dfff 0,#ad92f1 32%,#9276dc 74%);}
.vis-orb-loader__orb:nth-child(3) {left:3px;bottom:0;background:radial-gradient(circle at 30% 24%,#d9f4ff 0,#8dbddd 35%,#668fe5 80%);}
.vis-orb-loader--compact {flex-direction:row;gap:13px;min-height:0;padding:8px 0;font-size:12px;text-align:left;justify-content:flex-start;}
.vis-orb-loader--compact .vis-orb-loader__orbit {width:30px;height:30px;}
.vis-orb-loader--compact .vis-orb-loader__orb {width:14px;height:14px;}
.vis-orb-loader--compact .vis-orb-loader__orb:nth-child(1) {left:1px;top:0;}
.vis-orb-loader--compact .vis-orb-loader__orb:nth-child(2) {right:0;top:10px;}
.vis-orb-loader--compact .vis-orb-loader__orb:nth-child(3) {left:1px;bottom:0;}
.vis-ui .boot-screen .vis-orb-loader {min-height:110px;padding:12px;}
@keyframes vis-orb-orbit {to{transform:rotate(360deg)}}
@keyframes vis-glass-aura {from{transform:translate3d(-1%,0,0) scale(.96);opacity:.6}to{transform:translate3d(1%,2%,0) scale(1.03);opacity:.85}}
@media(max-width:600px) {
 .vis-ui .premium-shell .ce-hero {padding-top:17px;padding-bottom:28px;}
 .vis-ui .premium-shell .ce-hero::before {inset:100px -8px 30px;filter:blur(28px);}
 .vis-ui .premium-shell .ce-command {padding:20px 17px 16px;border-radius:24px;}
 .vis-ui .premium-shell .ce-command-row {gap:10px;align-items:flex-start;}
 .vis-ui .premium-shell .ce-command-brand {width:27px;height:40px;}
 .vis-ui .premium-shell .ce-command textarea {font-size:16px;line-height:1.65;min-height:48px;}
 .vis-ui .premium-shell .ce-command-caption {padding-left:0;font-size:10px;gap:7px;}
 .vis-ui .premium-shell .ce-command-send {width:42px;height:42px;}
 .vis-ui .premium-shell .ce-hero-heading {margin-bottom:27px;}
}
@media(prefers-reduced-motion:reduce) {.vis-orb-loader__orbit,.vis-ui .premium-shell .ce-hero::before {animation:none!important;}}
@media(prefers-reduced-transparency:reduce) {.vis-ui .premium-shell :is(.client-header,.ce-command,.ce-planning-surface,.ce-journey,.ce-advisor,.mobile-nav){background:var(--vis-surface);backdrop-filter:none;-webkit-backdrop-filter:none;}.vis-ui .premium-shell .ce-hero::before{display:none;}}

.premium-shell .ce-ai-mark { color: var(--vis-brand, #678FFF); fill: currentColor; stroke: none; }
.vh-privacy-card { margin-top: 28px; display: flex; gap: 24px; align-items: center; justify-content: space-between; }
.vh-privacy-card h3 { margin-top: 0; }
.vh-privacy-card p { max-width: 68ch; margin-bottom: 0; line-height: 1.65; }
.vh-privacy-card > button { flex: 0 0 auto; }
.vh-privacy-scope { line-height: 1.7; }
.vis-ui .vh-hub [data-form="memory-clear"] .vh-actions .primary { background: #a6273c; border-color: #a6273c; color: #fff; }
@media (max-width: 600px) { .vh-privacy-card { align-items: flex-start; flex-direction: column; gap: 18px; } }

/* Fixed Hub dialogs must escape its decorative stacking context to cover the Core header. */
.vis-ui .vh-hub:has(.vh-modal) { isolation: auto; }
