/* Vcare Web 29.3 — final presentation bridge. Keeps the approved UI, but makes every web module use one theme, header, direction and surface contract. */
:root{--vcare-web-header-h:72px}
html[data-theme]{
 --vc-bg:var(--iso-bg)!important;--vc-bg-2:var(--iso-bg-soft)!important;--vc-panel:var(--iso-glass)!important;--vc-panel-strong:var(--iso-glass-strong)!important;--vc-line:var(--iso-line)!important;--vc-line-soft:var(--iso-line-soft)!important;--vc-text:var(--iso-text)!important;--vc-muted:var(--iso-muted)!important;--vc-blue:var(--iso-primary)!important;--vc-cyan:var(--iso-primary-2)!important;--vc-green:var(--iso-success)!important;--vc-warning:var(--iso-warning)!important;--vc-danger:var(--iso-danger)!important;
 --rc281-bg:var(--iso-bg)!important;--rc281-surface:var(--iso-glass)!important;--rc281-surface-strong:var(--iso-surface)!important;--rc281-text:var(--iso-text)!important;--rc281-muted:var(--iso-muted)!important;--rc281-line:var(--iso-line)!important;--rc281-primary:var(--iso-primary)!important;--rc281-accent:var(--iso-primary-2)!important;
}
html,body{background-color:var(--iso-bg)!important;color:var(--iso-text)!important}
body.vcare-iso-ready{background:radial-gradient(circle at 8% -8%,color-mix(in srgb,var(--iso-primary) 10%,transparent),transparent 28rem),radial-gradient(circle at 96% 0,color-mix(in srgb,var(--iso-primary-2) 7%,transparent),transparent 24rem),var(--iso-bg)!important}
body.vcare-iso-ready :is(h1,h2,h3,h4,h5,h6,strong,b,label){color:var(--iso-text)}
body.vcare-iso-ready :is(p,small,.muted,.subtitle,.intro){color:var(--iso-muted)!important}

/* One visual contract for all historical headers. */
body.vcare-iso-ready :is(.site-header,.workspace-topbar,.rc28-topbar,.vstore-top,.vhome-top,.cwf-topbar,.topbar,.vcare-header,.nav){background:color-mix(in srgb,var(--iso-glass-strong) 94%,transparent)!important;border-color:var(--iso-line-soft)!important;color:var(--iso-text)!important;box-shadow:0 4px 18px color-mix(in srgb,var(--iso-text) 4%,transparent)!important;backdrop-filter:blur(20px) saturate(145%)!important;-webkit-backdrop-filter:blur(20px) saturate(145%)!important}
body.vcare-iso-ready :is(.workspace-topbar,.rc28-topbar,.vstore-top,.vhome-top){min-height:var(--vcare-web-header-h)!important}
body[data-vcare-single-header="1"]>.vcare-rc22-appbar{display:none!important}

/* Unified workspace shell: keep layout, remove hard-coded dark-only appearance. */
body.vcare-iso-ready .workspace-sidebar{background:color-mix(in srgb,var(--iso-glass-strong) 97%,transparent)!important;border-inline-end:1px solid var(--iso-line-soft)!important;border-right:0!important;color:var(--iso-text)!important;box-shadow:12px 0 30px color-mix(in srgb,var(--iso-text) 4%,transparent)!important}
body.vcare-iso-ready .workspace-topbar{background:color-mix(in srgb,var(--iso-glass-strong) 94%,transparent)!important}
body.vcare-iso-ready :is(.role-panel,.workspace-stats article,.module-card,.workspace-hero,.hero-mark,.empty-search){background:var(--iso-glass)!important;border-color:var(--iso-line-soft)!important;color:var(--iso-text)!important;box-shadow:var(--iso-shadow-soft)!important}
body.vcare-iso-ready .workspace-hero{background:linear-gradient(135deg,color-mix(in srgb,var(--iso-primary-soft) 80%,var(--iso-surface)),var(--iso-glass))!important}
body.vcare-iso-ready :is(.sidebar-link,.sidebar-footer a,.workspace-hero p,.module-copy small,.section-heading>small,.workspace-stats small,.workspace-footer){color:var(--iso-muted)!important}
body.vcare-iso-ready :is(.sidebar-link:hover,.sidebar-link.active){background:var(--iso-primary-soft)!important;color:var(--iso-text)!important;border-color:color-mix(in srgb,var(--iso-primary) 20%,var(--iso-line))!important}
body.vcare-iso-ready :is(.sidebar-link span,.workspace-eyebrow,.section-heading span,.workspace-search span,.module-status){color:var(--iso-primary)!important}
body.vcare-iso-ready :is(.menu-toggle,.sidebar-close,.top-button,.workspace-search){background:var(--iso-glass-strong)!important;border-color:var(--iso-line)!important;color:var(--iso-text)!important}
body.vcare-iso-ready .workspace-search input{color:var(--iso-text)!important}
body.vcare-iso-ready .workspace-search input::placeholder{color:var(--iso-faint)!important}
body.vcare-iso-ready .module-icon{background:var(--iso-primary-soft)!important;color:var(--iso-primary)!important}

/* Authentication and account pages follow the selected global theme. */
body.vcare-iso-ready .auth-shell{background:var(--iso-glass)!important;border-color:var(--iso-line)!important;box-shadow:var(--iso-shadow)!important}
body.vcare-iso-ready .auth-shell .story{background:linear-gradient(145deg,color-mix(in srgb,var(--iso-primary-soft) 82%,var(--iso-surface)),color-mix(in srgb,var(--iso-primary-2) 8%,var(--iso-surface)))!important}
body.vcare-iso-ready .auth-shell .form-side{background:color-mix(in srgb,var(--iso-surface) 90%,transparent)!important}
body.vcare-iso-ready .auth-shell :is(.trust span,.eyebrow,.note,.error){border-color:var(--iso-line)!important;background:var(--iso-glass-strong)!important;color:var(--iso-text)!important}
body.vcare-iso-ready .auth-shell .eyebrow{color:var(--iso-primary)!important;background:var(--iso-primary-soft)!important}
body.vcare-iso-ready .auth-shell .links{color:var(--iso-primary)!important}
body.vcare-iso-ready .auth-shell :is(input,select,textarea){background:var(--iso-surface)!important;color:var(--iso-text)!important;border-color:var(--iso-line)!important}
body.vcare-iso-ready .auth-shell .submit{background:linear-gradient(135deg,var(--iso-primary),var(--iso-primary-2))!important;color:#fff!important}

/* Old public/administration panels now inherit the same cards and page background. */
body.vcare-iso-ready :is(.panel,.card,.session,.status-card,.safety-item,.eco-card,.journey-panel,.vcare-rc281-page-card,.vcare-rc281-card,.vcare-rc281-metric-grid article){background:var(--iso-glass)!important;border-color:var(--iso-line-soft)!important;color:var(--iso-text)!important;box-shadow:var(--iso-shadow-soft)!important}
body.vcare-iso-ready :is(.btn,.button,.vcare-rc281-button,.vcare-rc281-theme){background:var(--iso-surface)!important;border-color:var(--iso-line)!important;color:var(--iso-text)!important}
body.vcare-iso-ready :is(.btn.primary,.button.primary){background:linear-gradient(135deg,var(--iso-primary),var(--iso-primary-2))!important;color:#fff!important}
body.vcare-iso-ready .vcare-rc281-theme.active{border-color:var(--iso-primary)!important;background:var(--iso-primary-soft)!important}

/* Forms, menus and language controls use one geometry everywhere. */
body.vcare-iso-ready :is(input:not([type=checkbox]):not([type=radio]),select,textarea){border-color:var(--iso-line)!important;background:var(--iso-surface)!important;color:var(--iso-text)!important}
body.vcare-iso-ready .vcare-language-switcher select,body.vcare-iso-ready .vcare-floating-language select{background:var(--iso-surface)!important;color:var(--iso-text)!important;border:1px solid var(--iso-line)!important;box-shadow:var(--iso-shadow-soft)!important}
body.vcare-iso-ready .vcare-floating-language{inset-inline-end:16px!important;right:auto!important;left:auto!important;bottom:calc(16px + env(safe-area-inset-bottom,0px))!important}
html[dir=rtl] body.vcare-iso-ready .vcare-floating-language{inset-inline-end:16px!important}

/* Direction correctness. Email/IDs remain LTR, the rest follows the locale. */
html[dir=rtl] body.vcare-iso-ready :is(.workspace-topbar,.workspace-hero,.module-card,.section-heading,.role-panel,.auth-shell,.panel,.card){text-align:right}
html[dir=rtl] body.vcare-iso-ready :is(input[type=email],input[type=url],input[type=tel],code,pre,.ltr){direction:ltr!important;text-align:left!important}
html[dir=rtl] body.vcare-iso-ready .workspace-sidebar{border-inline-start:0!important}

@media(max-width:900px){
 body.vcare-iso-ready .workspace-sidebar{inset-inline-start:0!important;left:auto!important;right:auto!important;transform:translateX(-104%)}
 html[dir=rtl] body.vcare-iso-ready .workspace-sidebar{transform:translateX(104%)}
 body.vcare-iso-ready .workspace-sidebar.open{transform:none!important}
}
@media(max-width:760px){
 body.vcare-iso-ready{padding-bottom:calc(88px + env(safe-area-inset-bottom,0px))!important}
 body.vcare-iso-ready[data-vcare-auth-page="1"],body.vcare-iso-ready:has(.auth-shell){padding-bottom:0!important}
 body.vcare-iso-ready :is(.workspace-topbar,.rc28-topbar,.vstore-top,.vhome-top){min-height:66px!important}
 body.vcare-iso-ready .vcare-floating-language{bottom:calc(92px + env(safe-area-inset-bottom,0px))!important}
 body.vcare-iso-ready:has(.auth-shell) .vcare-floating-language{bottom:12px!important}
}
@media(prefers-reduced-motion:reduce){body.vcare-iso-ready *,body.vcare-iso-ready *:before,body.vcare-iso-ready *:after{animation-duration:.001ms!important;transition-duration:.001ms!important;scroll-behavior:auto!important}}

/* Recovery, verification and MFA screens use the same account surface contract. */
body.vcare-iso-ready.p3-body{background:radial-gradient(circle at 10% 0,color-mix(in srgb,var(--iso-primary) 10%,transparent),transparent 28rem),var(--iso-bg)!important;color:var(--iso-text)!important}
body.vcare-iso-ready .p3-card{background:var(--iso-glass)!important;border-color:var(--iso-line)!important;color:var(--iso-text)!important;box-shadow:var(--iso-shadow)!important}
body.vcare-iso-ready .p3-card :is(h1,h2,h3,label,strong){color:var(--iso-text)!important}
body.vcare-iso-ready .p3-card p{color:var(--iso-muted)!important}
body.vcare-iso-ready .p3-card :is(input,select,textarea){background:var(--iso-surface)!important;border-color:var(--iso-line)!important;color:var(--iso-text)!important}
body.vcare-iso-ready .p3-button{border-color:var(--iso-line)!important;background:var(--iso-surface)!important;color:var(--iso-text)!important}
body.vcare-iso-ready .p3-button.primary{background:linear-gradient(135deg,var(--iso-primary),var(--iso-primary-2))!important;color:#fff!important;border-color:transparent!important}
