/*
 * VHELI Core 1.0.0-rc.19
 * Unified Intelligence Visual System
 * Visual layer only: no data, business logic, endpoints or interactions live here.
 */

:root{
  --vv-ink:#18132d;
  --vv-ink-strong:#261b49;
  --vv-muted:#726b82;
  --vv-muted-soft:#9790a6;
  --vv-canvas:#f7f6fb;
  --vv-surface:#ffffff;
  --vv-surface-muted:#fbfaff;
  --vv-lilac:#f0edff;
  --vv-lilac-strong:#e2dcff;
  --vv-line:rgba(78,58,134,.12);
  --vv-line-strong:rgba(95,72,190,.21);
  --vv-brand:#6b4df4;
  --vv-brand-bright:#8c76ff;
  --vv-brand-deep:#28184f;
  --vv-brand-ink:#38206f;
  --vv-blue:#5574e9;
  --vv-warning:#df912d;
  --vv-danger:#d84d78;
  --vv-shadow-xs:0 8px 20px rgba(40,25,92,.045);
  --vv-shadow-sm:0 16px 38px rgba(40,25,92,.075);
  --vv-shadow-md:0 26px 70px rgba(42,26,100,.12);
  --vv-shadow-lg:0 36px 100px rgba(31,18,81,.22);
  --vv-radius-sm:14px;
  --vv-radius:22px;
  --vv-radius-lg:30px;

  /* Existing component variables are intentionally remapped, not removed. */
  --vh-primary:var(--vv-brand);
  --vh-primary-deep:var(--vv-brand-deep);
  --vh-primary-soft:var(--vv-lilac);
  --vh-aqua:var(--vv-blue);
  --vh-ink:var(--vv-ink);
  --vh-muted:var(--vv-muted);
  --vh-bg:var(--vv-canvas);
  --vh-surface:var(--vv-surface);
  --vh-line:var(--vv-line);
  --vh-success:var(--vv-blue);
  --vh-warning:var(--vv-warning);
  --vh-danger:var(--vv-danger);
  --vh-radius:var(--vv-radius);
  --vh-shadow:var(--vv-shadow-md);

  --vhc-bg:var(--vv-canvas);
  --vhc-card:var(--vv-surface);
  --vhc-text:var(--vv-ink);
  --vhc-muted:var(--vv-muted);
  --vhc-line:var(--vv-line);
  --vhc-purple:var(--vv-brand);
  --vhc-purple-dark:var(--vv-brand-deep);
  --vhc-mint:var(--vv-blue);
  --vhc-danger:var(--vv-danger);
  --vhc-warn:var(--vv-warning);
}

html:has(.vheli-app),
body:has(.vheli-app),
html:has(.vheli-auth),
body:has(.vheli-auth),
html:has(.vhc-page),
body:has(.vhc-page),
html:has(.vdo-page),
body:has(.vdo-page){
  background:var(--vv-canvas)!important;
}

.vheli-app,
.vheli-auth,
.vhc-page,
.vhc-auth,
.vdo-page,
.vheli-install-card,
.vheli-push-card,
.vheli-pwa-modal{
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}

.vheli-app *,
.vheli-auth *,
.vhc-page *,
.vhc-auth *,
.vdo-page *{box-sizing:border-box}

.vheli-app :is(button,input,select,textarea),
.vheli-auth :is(button,input,select,textarea),
.vhc-page :is(button,input,select,textarea),
.vhc-auth :is(button,input,select,textarea),
.vdo-page :is(button,input,select,textarea){font:inherit}

.vheli-app button,
.vheli-auth button,
.vhc-page button,
.vhc-auth button,
.vdo-page button{-webkit-tap-highlight-color:transparent}

.vheli-app :focus-visible,
.vheli-auth :focus-visible,
.vhc-page :focus-visible,
.vhc-auth :focus-visible,
.vdo-page :focus-visible{
  outline:3px solid rgba(107,77,244,.27)!important;
  outline-offset:3px;
}

/* --------------------------------------------------------------------------
   App frame and navigation
   -------------------------------------------------------------------------- */

.vheli-app{
  position:relative;
  min-height:100dvh;
  color:var(--vv-ink);
  background:
    radial-gradient(circle at 92% -9%,rgba(150,128,255,.16),transparent 31rem),
    radial-gradient(circle at 52% 104%,rgba(115,93,245,.075),transparent 34rem),
    linear-gradient(145deg,#faf9fe 0%,#f6f4fc 47%,#fafaff 100%);
}

.vheli-shell{
  grid-template-columns:284px minmax(0,1fr);
  min-height:100dvh;
  border:0;
  border-radius:0;
  overflow:visible;
  background:transparent;
  box-shadow:none;
}

.vheli-sidebar{
  isolation:isolate;
  padding:28px 18px 20px;
  border-right:1px solid rgba(255,255,255,.055);
  background:
    radial-gradient(circle at 88% 6%,rgba(144,116,255,.31),transparent 24rem),
    radial-gradient(circle at 8% 104%,rgba(90,63,207,.22),transparent 22rem),
    linear-gradient(168deg,#17102f 0%,#211443 48%,#151027 100%);
  box-shadow:20px 0 55px rgba(20,11,59,.06);
}

.vheli-sidebar:before{
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  opacity:.46;
  pointer-events:none;
  background-image:
    linear-gradient(rgba(255,255,255,.03) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px);
  background-size:36px 36px;
  mask-image:linear-gradient(to bottom,transparent,black 14%,black 82%,transparent);
}

.vheli-sidebar:after{
  right:-76px;
  bottom:58px;
  width:210px;
  height:210px;
  opacity:.28;
  background:var(--vv-brand-bright);
  filter:blur(90px);
}

.vheli-brand{padding:0 10px 31px}
.vheli-brand img{width:184px;max-height:58px;filter:drop-shadow(0 12px 18px rgba(0,0,0,.18))}
.vheli-brand span{margin-top:10px;color:rgba(225,220,249,.62);font-size:10px;letter-spacing:.055em}

.vheli-nav{gap:5px}
.vheli-nav button{
  position:relative;
  min-height:47px;
  gap:12px;
  overflow:hidden;
  border:1px solid transparent;
  border-radius:15px;
  color:rgba(227,223,246,.66);
  padding:10px 12px;
  font-size:13px;
  font-weight:700;
  letter-spacing:-.01em;
  transition:transform .2s ease,background .2s ease,border-color .2s ease,color .2s ease;
}

.vheli-nav button:before{
  content:"";
  position:absolute;
  left:0;
  top:12px;
  bottom:12px;
  width:3px;
  border-radius:0 99px 99px 0;
  background:linear-gradient(180deg,#dfd4ff,#8d73ff);
  opacity:0;
  transform:scaleY(.55);
  transition:.22s ease;
}

.vheli-nav button span{
  width:28px;
  height:28px;
  border:1px solid rgba(255,255,255,.045);
  border-radius:9px;
  color:inherit;
  background:rgba(255,255,255,.035);
  font-size:16px;
  transition:.2s ease;
}

.vheli-nav button:hover{
  transform:translateX(2px);
  border-color:rgba(255,255,255,.07);
  background:rgba(255,255,255,.07);
  color:#fff;
}

.vheli-nav button.is-active{
  border-color:rgba(176,156,255,.15);
  background:linear-gradient(100deg,rgba(128,101,243,.25),rgba(255,255,255,.055));
  color:#fff;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.08),0 10px 26px rgba(7,3,35,.12);
}

.vheli-nav button.is-active:before{opacity:1;transform:scaleY(1)}
.vheli-nav button.is-active span{
  color:#fff;
  border-color:rgba(218,207,255,.18);
  background:linear-gradient(145deg,#8468ff,#6145e8);
  box-shadow:0 9px 20px rgba(94,64,222,.38);
}

.vheli-sidebar-card{
  gap:11px;
  padding:13px;
  border-color:rgba(255,255,255,.1);
  border-radius:18px;
  background:linear-gradient(145deg,rgba(255,255,255,.095),rgba(255,255,255,.025));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.08);
  backdrop-filter:blur(14px);
}
.vheli-sidebar-card img{width:38px;height:38px;border-radius:12px;padding:4px;box-shadow:0 8px 18px rgba(0,0,0,.16)}
.vheli-sidebar-card strong{font-size:11px;letter-spacing:.01em}.vheli-sidebar-card small{font-size:9px;color:rgba(229,226,246,.6)}

.vheli-main{min-height:100dvh;background:transparent}
.vheli-topbar{
  position:sticky;
  top:0;
  z-index:90;
  height:84px;
  padding:0 clamp(20px,3vw,42px);
  border-bottom:1px solid rgba(79,59,132,.08);
  background:rgba(250,249,254,.79);
  box-shadow:0 7px 22px rgba(34,22,80,.025);
  backdrop-filter:blur(22px) saturate(1.14);
  -webkit-backdrop-filter:blur(22px) saturate(1.14);
}
.vheli-topbar-kicker{font-size:9px;letter-spacing:.18em;color:var(--vv-brand);font-weight:900}
.vheli-topbar-title{font-size:13px;color:#716a81}
.vheli-user{gap:11px}.vheli-user strong{font-size:12px;color:var(--vv-ink)}.vheli-user small{font-size:9px;color:var(--vv-muted-soft)}
.vheli-user img{width:42px;height:42px;border:3px solid rgba(255,255,255,.95);box-shadow:0 10px 22px rgba(41,25,97,.12)}
.vheli-mobile-brand{width:42px;height:42px;border-radius:13px;background:var(--vv-lilac);color:var(--vv-brand)}
.vheli-mobile-brand img{width:31px;height:31px}

.vheli-content{
  width:100%;
  max-width:1510px;
  margin:0 auto;
  padding:clamp(25px,3.2vw,48px) clamp(18px,3.1vw,46px) clamp(56px,7vw,90px);
}
.vheli-page-head{gap:26px}.vheli-eyebrow{font-size:9px;letter-spacing:.19em;color:var(--vv-brand);font-weight:900}
.vheli-h1{margin:9px 0 10px;font-size:clamp(31px,3.3vw,47px);line-height:1.03;letter-spacing:-.052em;color:var(--vv-ink)}
.vheli-lead{max-width:750px;color:var(--vv-muted);font-size:14px;line-height:1.68}
.vheli-section{margin-top:30px}.vheli-section-head{margin-bottom:15px}.vheli-section-head h2{font-size:22px;letter-spacing:-.035em;color:var(--vv-ink)}

/* --------------------------------------------------------------------------
   Shared surfaces, controls and data density
   -------------------------------------------------------------------------- */

.vheli-app .vheli-card,
.vheli-app .vheli-event,
.vheli-app .vheli-metric,
.vheli-app .vheli-daily-metric,
.vheli-app .vheli-today-metric,
.vheli-app .vheli-food-card,
.vheli-app .vheli-food-bank-card,
.vheli-app .vheli-food-response-rank-card,
.vheli-app .vheli-food-response-episode,
.vheli-app .vheli-beverage-library-section,
.vheli-app .vheli-activity-section-card,
.vheli-app .vheli-activity-type-card,
.vheli-app .vheli-activity-routine-card,
.vheli-app .vheli-routine-card,
.vheli-app .vheli-strength-routine-card,
.vheli-app .vheli-strength-overview-card,
.vheli-app .vheli-strength-objective-card,
.vheli-app .vheli-strength-goal-card,
.vheli-app .vheli-strength-free-card,
.vheli-app .vheli-sleep-kpi,
.vheli-app .vheli-lab-card,
.vheli-app .vheli-treatment-card,
.vheli-app .vheli-device-control-card,
.vheli-app .vheli-device-guide-card,
.vheli-app .vheli-notification-item,
.vheli-app .vheli-reminder-card,
.vheli-app .vheli-recovery-observed-card,
.vheli-app .vheli-recovery-option-card,
.vheli-app .vheli-apple-device-card,
.vheli-app .vheli-pairing-code-card,
.vheli-app .vheli-profile-section,
.vheli-app .vheli-attribution-panel,
.vheli-app .vheli-founder-lifecycle,
.vheli-app .vheli-health-table-card{
  border-color:var(--vv-line);
  border-radius:var(--vv-radius);
  background:linear-gradient(145deg,rgba(255,255,255,.99),rgba(252,251,255,.95));
  box-shadow:var(--vv-shadow-xs);
}

.vheli-app .vheli-card,
.vheli-app .vheli-metric,
.vheli-app .vheli-daily-metric,
.vheli-app .vheli-today-metric{padding:22px}

.vheli-app :is(.vheli-food-card,.vheli-food-bank-card,.vheli-activity-type-card,.vheli-activity-routine-card,.vheli-routine-card,.vheli-strength-routine-card,.vheli-lab-card,.vheli-notification-item,.vheli-reminder-card){
  transition:transform .22s cubic-bezier(.2,.8,.2,1),box-shadow .22s ease,border-color .22s ease,background .22s ease;
}

@media (hover:hover){
  .vheli-app :is(.vheli-food-card,.vheli-food-bank-card,.vheli-activity-type-card,.vheli-activity-routine-card,.vheli-routine-card,.vheli-strength-routine-card,.vheli-lab-card,.vheli-notification-item,.vheli-reminder-card):hover{
    transform:translateY(-3px);
    border-color:rgba(107,77,244,.26);
    background:#fff;
    box-shadow:var(--vv-shadow-sm);
  }
}

.vheli-grid{gap:18px;margin-top:26px}.vheli-hero-grid{gap:18px;margin-top:30px}
.vheli-stat-label{font-size:10px;color:var(--vv-muted);font-weight:800;letter-spacing:.035em;text-transform:uppercase}
.vheli-stat-value{margin-top:11px;font-size:33px;letter-spacing:-.055em;color:var(--vv-ink)}
.vheli-metric small{font-size:10px;color:var(--vv-muted-soft)}

.vheli-btn,
.vheli-app :is(.vheli-plan-cta,.vheli-select-plan,.vheli-food-primary-actions button,.vheli-food-actions button,.vheli-device-connect-submit,.vheli-treatment-form button){
  min-height:44px;
  border-radius:14px;
  padding:10px 15px;
  font-size:12px;
  font-weight:850;
  letter-spacing:-.01em;
  transition:transform .18s ease,box-shadow .18s ease,filter .18s ease,background .18s ease,border-color .18s ease;
}

.vheli-btn-primary,
.vheli-app .vheli-plan-cta,
.vheli-app .vheli-select-plan,
.vheli-app .vheli-food-primary-actions button,
.vheli-app .vheli-device-connect-submit,
.vheli-app .vheli-treatment-form button{
  border:1px solid rgba(255,255,255,.15)!important;
  background:linear-gradient(135deg,#6041e9 0%,#7859f6 52%,#927aff 100%)!important;
  color:#fff!important;
  box-shadow:0 13px 28px rgba(89,60,218,.26),inset 0 1px 0 rgba(255,255,255,.2);
}

.vheli-btn-ghost,
.vheli-btn-secondary,
.vheli-btn-soft{
  border:1px solid rgba(107,77,244,.16)!important;
  background:rgba(245,243,255,.83)!important;
  color:#5a40d3!important;
  box-shadow:none!important;
}
.vheli-btn-danger{background:linear-gradient(135deg,#cd416e,#e96b91)!important;color:#fff!important;box-shadow:0 12px 26px rgba(199,57,100,.18)!important}

@media (hover:hover){
  .vheli-btn:hover:not(:disabled),
  .vheli-app :is(.vheli-plan-cta,.vheli-select-plan,.vheli-food-primary-actions button,.vheli-food-actions button,.vheli-device-connect-submit,.vheli-treatment-form button):hover:not(:disabled){
    transform:translateY(-2px);
    filter:brightness(1.025);
  }
  .vheli-btn-primary:hover:not(:disabled),
  .vheli-app :is(.vheli-plan-cta,.vheli-select-plan,.vheli-food-primary-actions button,.vheli-device-connect-submit,.vheli-treatment-form button):hover:not(:disabled){
    box-shadow:0 18px 34px rgba(89,60,218,.32),inset 0 1px 0 rgba(255,255,255,.24)!important;
  }
}

.vheli-btn:disabled{opacity:.52;filter:saturate(.7);cursor:not-allowed}

.vheli-app :is(.vheli-field input,.vheli-field select,.vheli-field textarea,.vheli-mini-field,.vheli-smart-food-search input,.vheli-food-bank-search input,.vheli-food-response-controls input,.vheli-recipe-prefs textarea,.vheli-recipe-share-modal input,.vheli-recipe-plan-month input,.vheli-strength-history-tools input,.vheli-strength-history-tools select){
  border-color:rgba(80,60,137,.16)!important;
  border-radius:14px!important;
  color:var(--vv-ink)!important;
  background:rgba(255,255,255,.92)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.8),0 3px 10px rgba(40,25,92,.018);
  transition:border-color .18s ease,box-shadow .18s ease,background .18s ease;
}
.vheli-app :is(.vheli-field input,.vheli-field select,.vheli-field textarea,.vheli-smart-food-search input,.vheli-food-bank-search input,.vheli-food-response-controls input,.vheli-recipe-prefs textarea,.vheli-recipe-share-modal input,.vheli-recipe-plan-month input,.vheli-strength-history-tools input,.vheli-strength-history-tools select):focus{
  border-color:rgba(107,77,244,.62)!important;
  background:#fff!important;
  box-shadow:0 0 0 4px rgba(107,77,244,.105),0 10px 22px rgba(47,28,110,.05)!important;
}
.vheli-app input[type="checkbox"],.vheli-app input[type="radio"]{accent-color:var(--vv-brand)}

.vheli-filter-row,
.vheli-subnav,
.vheli-period-quick,
.vheli-date-range,
.vheli-food-response-chips,
.vheli-strength-tabs,
.vheli-strength-periods,
.vheli-sleep-period-tabs,
.vheli-beverage-category-tabs,
.vheli-recipe-target-strip{
  gap:7px;
  padding:6px;
  border:1px solid rgba(80,60,137,.1);
  border-radius:18px;
  background:rgba(244,242,252,.75);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.7);
}

.vheli-filter-row button,
.vheli-subnav button,
.vheli-period-quick button,
.vheli-date-range button,
.vheli-food-response-chips button,
.vheli-strength-tabs button,
.vheli-strength-periods button,
.vheli-sleep-period-tabs button,
.vheli-beverage-category-tabs button{
  border:1px solid transparent!important;
  border-radius:12px!important;
  background:transparent!important;
  color:#746c85!important;
  font-size:10px!important;
  font-weight:850!important;
  box-shadow:none!important;
}

.vheli-filter-row button.is-active,
.vheli-subnav button.is-active,
.vheli-period-quick button.is-active,
.vheli-date-range button.is-active,
.vheli-food-response-chips button.is-active,
.vheli-strength-tabs button.is-active,
.vheli-strength-periods button.is-active,
.vheli-sleep-period-tabs button.is-active,
.vheli-beverage-category-tabs button.is-active{
  border-color:rgba(107,77,244,.16)!important;
  background:#fff!important;
  color:#553acd!important;
  box-shadow:0 8px 18px rgba(53,35,125,.09)!important;
}

.vheli-status{padding:7px 10px;border:1px solid transparent;font-size:10px;letter-spacing:.01em}
.vheli-status.is-range{border-color:rgba(85,116,233,.16);background:#edf2ff;color:#3f5bbd}
.vheli-status.is-low{border-color:rgba(223,145,45,.18);background:#fff7e9;color:#a96816}
.vheli-status.is-high{border-color:rgba(216,77,120,.16);background:#fff0f5;color:#aa385c}

/* --------------------------------------------------------------------------
   Main dashboard and context cards
   -------------------------------------------------------------------------- */

.vheli-glucose-card{
  min-height:206px;
  border-color:rgba(96,73,186,.13)!important;
  border-radius:26px;
  background:
    radial-gradient(circle at 94% 0,rgba(139,115,255,.15),transparent 40%),
    linear-gradient(145deg,#fff 0%,#fbfaff 100%);
  box-shadow:var(--vv-shadow-sm);
}
.vheli-glucose-card:before{width:4px;border-radius:0 99px 99px 0;background:linear-gradient(180deg,#876cff,#5c40e3)}
.vheli-glucose-card.is-range:before{background:linear-gradient(180deg,#6889f8,#4e6ee0)}
.vheli-glucose-card.is-low:before{background:linear-gradient(180deg,#f0b85a,#d98c28)}
.vheli-glucose-card.is-high:before{background:linear-gradient(180deg,#ed7a9d,#d64b75)}
.vheli-glucose-card>img{opacity:.16;filter:drop-shadow(0 16px 20px rgba(88,61,197,.14))}
.vheli-glucose-value{font-size:clamp(51px,5.7vw,70px);color:#231744;text-shadow:0 8px 26px rgba(64,41,145,.1)}
.vheli-glucose-value small{color:var(--vv-muted);font-weight:700}

.vheli-intelligence-card,
.vheli-dashboard-decide,
.vheli-ai-usage-hero,
.vheli-membership-hero,
.vheli-activation-hero-card,
.vheli-lab-hero,
.vheli-recipe-plan-hero,
.vheli-activity-hero,
.vheli-treatment-hero,
.vheli-device-hero,
.vheli-sleep-hero,
.vheli-strength-hero{
  position:relative;
  isolation:isolate;
  overflow:hidden;
  border:1px solid rgba(158,140,255,.19)!important;
  background:
    radial-gradient(circle at 86% 15%,rgba(198,177,255,.38),transparent 26%),
    radial-gradient(circle at 10% 112%,rgba(118,93,255,.30),transparent 38%),
    linear-gradient(136deg,#241549 0%,#34206d 48%,#5b42ca 100%)!important;
  color:#fff;
  box-shadow:0 28px 70px rgba(46,27,127,.22);
}

.vheli-intelligence-card:after,
.vheli-dashboard-decide:after,
.vheli-ai-usage-hero:after,
.vheli-membership-hero:after,
.vheli-activation-hero-card:after,
.vheli-lab-hero:after,
.vheli-recipe-plan-hero:after,
.vheli-activity-hero:after,
.vheli-treatment-hero:after,
.vheli-device-hero:after,
.vheli-sleep-hero:after,
.vheli-strength-hero:after{
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  opacity:.52;
  pointer-events:none;
  background-image:
    linear-gradient(rgba(255,255,255,.07) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.055) 1px,transparent 1px);
  background-size:34px 34px;
  mask-image:linear-gradient(135deg,black,transparent 68%);
}

.vheli-intelligence-card .vheli-stat-label,
.vheli-dashboard-decide .vheli-stat-label,
.vheli-ai-usage-hero .vheli-stat-label{color:rgba(235,231,255,.72)}
.vheli-intelligence-card strong{font-size:19px;line-height:1.42}.vheli-intelligence-card p{color:rgba(239,236,255,.74);font-size:11px}
.vheli-spark{border:1px solid rgba(255,255,255,.13);border-radius:14px;background:rgba(255,255,255,.105);box-shadow:inset 0 1px 0 rgba(255,255,255,.13)}

.vheli-info-panel,
.vheli-recommendation-note,
.vheli-inline-info,
.vheli-data-quality,
.vheli-trial-continuity,
.vheli-activation-next-card,
.vheli-food-library-help{
  border:1px solid rgba(107,77,244,.12);
  border-radius:20px;
  background:linear-gradient(135deg,rgba(244,241,255,.92),rgba(255,255,255,.9));
  box-shadow:var(--vv-shadow-xs);
}
.vheli-info-panel>span{border:1px solid rgba(107,77,244,.1);background:#fff;color:var(--vv-brand);box-shadow:0 7px 15px rgba(64,42,151,.06)}

.vheli-chart-card{border-radius:24px}.vheli-chart-wrap{position:relative;isolation:isolate}
.vheli-chart-wrap:after{content:"";position:absolute;left:0;right:0;bottom:0;height:35%;z-index:-1;background:linear-gradient(180deg,transparent,rgba(112,86,241,.04));pointer-events:none}
.vheli-chart-line{stroke:#6b4df4;stroke-width:2.7}.vheli-chart-dot{stroke:#6b4df4;filter:drop-shadow(0 3px 4px rgba(76,49,186,.19))}
.vheli-chart-limit{stroke:#6f8df1;opacity:.78}.vheli-chart-legend{color:var(--vv-muted);font-size:9px}.vheli-chart-legend i{background:#6f8df1;box-shadow:0 0 0 4px rgba(111,141,241,.09)}

.vheli-timeline-card{padding:18px;border-radius:25px}.vheli-timeline{gap:12px}.vheli-timeline-item{position:relative}
.vheli-timeline-item:not(:last-child):after{content:"";position:absolute;left:86px;top:37px;bottom:-12px;width:1px;background:linear-gradient(#ded7f6,rgba(222,215,246,.13))}
.vheli-dot{position:relative;z-index:1;width:32px;height:32px;border:1px solid rgba(107,77,244,.1);border-radius:11px;background:#f0edff;color:#5f45db;box-shadow:0 7px 16px rgba(55,35,131,.06)}
.vheli-timeline-item.is-meal .vheli-dot{background:#fff6ea;color:#ca7a1d;border-color:#f6dfbb}.vheli-timeline-item.is-workout .vheli-dot{background:#eef2ff;color:#4c68ca;border-color:#dce4ff}.vheli-timeline-item.is-note .vheli-dot{background:#f4f0ff;color:#7048d5;border-color:#e4dbff}
.vheli-event{border-radius:17px;padding:14px 15px;box-shadow:0 6px 17px rgba(41,26,91,.035)}
.vheli-event-type{color:#6748e7}.vheli-event strong{font-size:13px;color:var(--vv-ink)}.vheli-event-main>span:not(.vheli-event-type),.vheli-event p{color:var(--vv-muted);font-size:10px}
.vheli-delete-event{width:29px;height:29px;border:1px solid rgba(107,77,244,.1);border-radius:10px;background:#f5f2ff;color:#6d50df}

/* --------------------------------------------------------------------------
   VHELI Decide language: loaders, AI and Heli presence
   -------------------------------------------------------------------------- */

.vheli-boot-premium{
  isolation:isolate;
  background:
    radial-gradient(circle at 18% 18%,rgba(129,102,255,.18),transparent 26rem),
    radial-gradient(circle at 84% 78%,rgba(157,132,255,.13),transparent 30rem),
    linear-gradient(145deg,#fbfaff 0%,#f4f1fc 46%,#fbfaff 100%)!important;
}
.vheli-boot-premium:before{opacity:.76;background-image:linear-gradient(rgba(103,78,228,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(103,78,228,.045) 1px,transparent 1px)!important}
.vheli-boot-premium:after{background:radial-gradient(circle,rgba(115,89,245,.10),transparent 66%)!important}
.vheli-boot-mark{position:relative;isolation:isolate}.vheli-boot-mark:before{content:"";position:absolute;inset:-18px;border:1px solid rgba(107,77,244,.12);border-radius:50%;animation:vv-orbit 7s linear infinite}.vheli-boot-mark:after{content:"";position:absolute;inset:-33px;border:1px dashed rgba(107,77,244,.12);border-radius:50%;animation:vv-orbit 12s linear infinite reverse}
.vheli-boot-premium .vheli-boot-logo{filter:drop-shadow(0 20px 30px rgba(74,47,180,.24));animation:vv-levitate 3.7s ease-in-out infinite!important}
.vheli-boot-premium .vheli-boot-copy strong{color:#6447e7}.vheli-boot-premium .vheli-boot-copy h2{color:#201735}.vheli-boot-premium .vheli-boot-copy p{color:#726b83!important}
.vheli-boot-data-card{border:1px solid rgba(107,77,244,.14)!important;background:rgba(255,255,255,.7)!important;box-shadow:0 20px 46px rgba(45,27,111,.1)!important;backdrop-filter:blur(16px)}
.vheli-boot-progress{height:5px!important;border:1px solid rgba(107,77,244,.07);background:rgba(107,77,244,.09)!important}.vheli-boot-progress span{background:linear-gradient(90deg,#6547ed,#957cff 54%,#7790f7)!important;box-shadow:0 0 18px rgba(107,77,244,.4)}

.vheli-decide-loading,
.vheli-page-loading{
  position:relative;
  isolation:isolate;
  overflow:hidden;
  min-height:min(70vh,760px);
  border:1px solid rgba(107,77,244,.12);
  border-radius:32px;
  background:
    radial-gradient(circle at 50% 40%,rgba(139,116,255,.13),transparent 20rem),
    linear-gradient(145deg,rgba(255,255,255,.92),rgba(247,245,255,.92));
  box-shadow:var(--vv-shadow-sm);
}
.vheli-decide-loading:before,.vheli-page-loading:before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background-image:linear-gradient(rgba(107,77,244,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(107,77,244,.035) 1px,transparent 1px);background-size:42px 42px;mask-image:radial-gradient(circle at center,black,transparent 74%)}
.vheli-decide-loading>span{color:#6849ed;letter-spacing:.18em}.vheli-decide-loading h1{color:#211733}.vheli-decide-loading p{color:#716a82}
.vheli-decide-loading-orbit{
  width:122px;
  height:122px;
  border:1px solid rgba(107,77,244,.16);
  background:radial-gradient(circle at 35% 28%,#fff,#ede8ff 68%);
  box-shadow:0 24px 65px rgba(76,48,180,.19),inset 0 1px 0 #fff;
}
.vheli-decide-loading-orbit:before{content:"";position:absolute;inset:14px;border-radius:50%;border:1px solid rgba(107,77,244,.16);box-shadow:0 0 0 10px rgba(107,77,244,.035)}
.vheli-decide-loading-orbit:after{content:"";position:absolute;inset:-19px;border-radius:50%;border:1px dashed rgba(107,77,244,.16);animation:vv-orbit 8s linear infinite}
.vheli-decide-loading-orbit i{inset:-12px;border-top-color:#7659f3;border-right-color:#b78cff;filter:drop-shadow(0 0 8px rgba(107,77,244,.35))}
.vheli-decide-loading-orbit b{position:relative;z-index:1;color:#6749e9;text-shadow:0 0 22px rgba(107,77,244,.38)}
.vheli-decide-loading.is-error{background:linear-gradient(145deg,#fff,#fff6f8)}.vheli-decide-loading.is-error:before{opacity:.32}
.vheli-page-loading{min-height:280px;border-radius:26px;color:#665e79}.vheli-page-loading strong{font-size:10px;letter-spacing:.06em;color:#6748e7}

.vheli-app .vheli-loader{
  border-color:rgba(107,77,244,.12);
  border-top-color:#6548ee;
  border-right-color:#a48fff;
  box-shadow:0 0 0 5px rgba(107,77,244,.025);
}

.vheli-heli-launcher,
.vhc-heli-launcher{
  isolation:isolate;
  border-color:rgba(107,77,244,.16)!important;
  border-radius:19px!important;
  background:rgba(255,255,255,.9)!important;
  box-shadow:0 18px 48px rgba(39,24,98,.16)!important;
  backdrop-filter:blur(16px);
  -webkit-backdrop-filter:blur(16px);
}
.vheli-heli-launcher:before,.vhc-heli-launcher:before{border-color:rgba(107,77,244,.2)!important}.vheli-heli-launcher:after,.vhc-heli-launcher:after{border-color:rgba(107,77,244,.18)!important}
.vheli-heli-panel,
.vhc-heli-panel{
  border-color:rgba(107,77,244,.16)!important;
  border-radius:26px!important;
  background:linear-gradient(145deg,#fff,#fbfaff)!important;
  box-shadow:var(--vv-shadow-lg)!important;
}
.vheli-heli-panel header,
.vhc-heli-panel header{background:linear-gradient(135deg,#29194f,#4b31a9 58%,#6a4ce5)!important}
.vheli-heli-suggestions button,
.vhc-heli-suggestions button{border-color:rgba(107,77,244,.14)!important;border-radius:999px!important;background:#f5f2ff!important;color:#5940d2!important;font-weight:800!important}
.vheli-heli-suggestions button:hover,.vhc-heli-suggestions button:hover{background:#ebe6ff!important;color:#4931bc!important}
.vheli-heli-send,.vhc-heli-panel form button{background:linear-gradient(135deg,#6244ec,#7c5cf7)!important;box-shadow:0 10px 20px rgba(91,61,218,.22)}

/* --------------------------------------------------------------------------
   Modules: food, recipes, health, activity, sleep and memberships
   -------------------------------------------------------------------------- */

.vheli-food-plan-suggestion{
  position:relative;
  overflow:hidden;
  border-color:rgba(107,77,244,.16)!important;
  border-radius:22px;
  background:
    radial-gradient(circle at 92% 8%,rgba(149,123,255,.15),transparent 38%),
    linear-gradient(145deg,#fff,#f7f4ff)!important;
  box-shadow:0 16px 36px rgba(52,32,122,.08);
}
.vheli-food-plan-suggestion:before{content:"";position:absolute;left:0;top:14px;bottom:14px;width:3px;border-radius:0 99px 99px 0;background:linear-gradient(#8a70ff,#5d42de)}
.vheli-food-plan-copy span{color:#6648e6!important}.vheli-food-plan-copy h3{color:#241846!important}.vheli-food-plan-macros b{border:1px solid rgba(107,77,244,.1);background:rgba(255,255,255,.78);color:#4d36ba}

.vheli-food-card-macros,
.vheli-food-response-mini-nutrition,
.vheli-nutrition-chip-row,
.vheli-recipe-meal-kpis div,
.vheli-recipe-target-strip span{
  border:1px solid rgba(107,77,244,.09);
  background:linear-gradient(145deg,#faf9ff,#f2efff)!important;
  color:#4c37af!important;
}

.vheli-recipe-toolbar,
.vheli-recipe-calendar-wrap,
.vheli-recipe-share-card{
  border-color:var(--vv-line)!important;
  border-radius:26px!important;
  background:linear-gradient(145deg,rgba(255,255,255,.98),rgba(249,248,255,.96))!important;
  box-shadow:var(--vv-shadow-xs)!important;
}
.vheli-recipe-calendar-wrap{box-shadow:var(--vv-shadow-sm)!important}.vheli-recipe-calendar-wrap>header span,.vheli-recipe-toolbar-main span{color:#6548e8!important}
.vheli-recipe-day{border-color:rgba(86,64,147,.12)!important;background:rgba(255,255,255,.92)!important;box-shadow:0 6px 15px rgba(38,24,92,.03)!important}
.vheli-recipe-day:hover,.vheli-recipe-day:focus{border-color:rgba(107,77,244,.35)!important;background:#fbfaff!important;box-shadow:0 14px 28px rgba(57,35,145,.09)!important}
.vheli-recipe-day.is-today{border-color:#7b5df0!important;background:linear-gradient(145deg,#f6f2ff,#fff)!important;box-shadow:0 13px 28px rgba(92,62,218,.15),inset 0 0 0 1px rgba(128,101,245,.16)!important}
.vheli-recipe-day.is-today:after{background:linear-gradient(135deg,#6548e8,#987eff)!important;box-shadow:0 4px 12px rgba(91,61,218,.25)}
.vheli-recipe-meal{border-color:rgba(86,64,147,.12)!important;background:rgba(255,255,255,.94)!important}.vheli-recipe-meal:hover{background:#faf9ff!important;border-color:rgba(107,77,244,.28)!important}

.vheli-activity-section-card,
.vheli-activity-type-card,
.vheli-activity-routine-card,
.vheli-routine-card,
.vheli-strength-routine-card,
.vheli-strength-overview-card,
.vheli-strength-objective-card,
.vheli-strength-goal-card,
.vheli-strength-free-card{overflow:hidden}
.vheli-activity-type-art,
.vheli-activity-section-art,
.vheli-strength-category-card>i,
.vheli-routine-row-index{
  border:1px solid rgba(107,77,244,.09);
  background:linear-gradient(145deg,#f6f3ff,#ebe6ff)!important;
  color:#6044db!important;
  box-shadow:0 10px 19px rgba(55,34,132,.06);
}

.vheli-sleep-hero,
.vheli-sleep-visual-hero,
.vheli-sleep-heli-card{
  border-color:rgba(158,140,255,.18)!important;
  box-shadow:0 28px 70px rgba(42,26,109,.2)!important;
}
.vheli-sleep-sky{background:radial-gradient(circle at 74% 16%,rgba(197,179,255,.28),transparent 21rem),linear-gradient(145deg,#211445,#382371 53%,#6045c6)!important}
.vheli-sleep-kpi{border-radius:20px!important}.vheli-sleep-kpi-icon{border:1px solid rgba(107,77,244,.1);background:#f1edff!important;color:#6246dd!important}

.vheli-membership-card,
.vheli-plan-card,
.vheli-trial-membership-card{
  border-color:var(--vv-line)!important;
  border-radius:25px!important;
  background:linear-gradient(145deg,#fff,#fbfaff)!important;
  box-shadow:var(--vv-shadow-xs)!important;
}
.vheli-membership-card.is-current,.vheli-plan-card.is-featured,.vheli-plan-card.is-selected{border-color:rgba(107,77,244,.48)!important;box-shadow:0 22px 56px rgba(86,55,201,.14)!important}
.vheli-plan-card-glow{background:radial-gradient(circle,rgba(139,112,255,.24),transparent 66%)!important}

.vheli-notification-center,
.vheli-notification-preferences,
.vheli-privacy-center,
.vheli-professional-access-summary{
  border-color:var(--vv-line)!important;
  border-radius:25px!important;
  background:linear-gradient(145deg,#fff,#fbfaff)!important;
  box-shadow:var(--vv-shadow-xs)!important;
}

/* --------------------------------------------------------------------------
   Modal system, notifications and empty states
   -------------------------------------------------------------------------- */

.vheli-modal-backdrop,
.vheli-recipe-modal-backdrop{
  background:rgba(24,15,55,.54)!important;
  backdrop-filter:blur(15px) saturate(1.05)!important;
  -webkit-backdrop-filter:blur(15px) saturate(1.05)!important;
}
.vheli-modal{
  border:1px solid rgba(255,255,255,.75);
  border-radius:28px;
  background:linear-gradient(145deg,#fff,#fbfaff);
  box-shadow:0 38px 110px rgba(19,10,55,.36),inset 0 1px 0 #fff;
}
.vheli-modal-head{padding-bottom:16px;border-bottom:1px solid rgba(80,60,137,.09)}
.vheli-modal-head h3{color:var(--vv-ink);letter-spacing:-.04em}.vheli-icon-btn{border:1px solid rgba(107,77,244,.1);border-radius:12px;background:#f4f1ff;color:#5d43d8;transition:.18s ease}.vheli-icon-btn:hover{transform:rotate(4deg);background:#ece7ff}
.vheli-modal-brand img{filter:drop-shadow(0 9px 14px rgba(74,48,172,.13))}.vheli-modal-brand span{color:#6749e9}.vheli-modal-brand strong{color:var(--vv-ink)}
.vheli-quick-grid button{border-color:var(--vv-line);border-radius:18px;background:linear-gradient(145deg,#fff,#fbfaff);transition:.18s ease}.vheli-quick-grid button>span{border:1px solid rgba(107,77,244,.1);background:#f1edff;color:#6044db}.vheli-quick-grid button:hover{transform:translateY(-2px);border-color:rgba(107,77,244,.26);box-shadow:var(--vv-shadow-xs)}

.vheli-toast{
  right:24px;
  bottom:24px;
  border:1px solid rgba(255,255,255,.13);
  border-radius:16px;
  background:rgba(32,21,70,.94);
  box-shadow:0 24px 56px rgba(20,11,55,.28);
  backdrop-filter:blur(16px);
}
.vheli-toast.is-error{background:rgba(150,40,77,.95)}
.vheli-empty,.vheli-empty-state,.vheli-empty-chart{padding:52px 25px;border-radius:24px;color:var(--vv-muted)}
.vheli-empty img{opacity:.42;filter:drop-shadow(0 10px 16px rgba(75,48,178,.09))}.vheli-empty strong{color:var(--vv-ink)}

.vheli-fab{
  width:60px;
  height:60px;
  border:1px solid rgba(255,255,255,.26);
  border-radius:20px;
  background:linear-gradient(135deg,#6548ed,#8668ff)!important;
  box-shadow:0 18px 42px rgba(91,59,224,.34),inset 0 1px 0 rgba(255,255,255,.22);
}

/* --------------------------------------------------------------------------
   Authentication, onboarding and commercial acquisition
   -------------------------------------------------------------------------- */

body .vheli-auth{
  border-color:rgba(108,82,199,.14)!important;
  border-radius:32px!important;
  background:rgba(255,255,255,.88)!important;
  box-shadow:0 34px 96px rgba(39,22,104,.16)!important;
  backdrop-filter:blur(20px);
}
body .vheli-auth-visual{
  overflow:hidden;
  background:
    radial-gradient(circle at 82% 14%,rgba(195,177,255,.28),transparent 24rem),
    radial-gradient(circle at 12% 88%,rgba(110,79,245,.3),transparent 28rem),
    linear-gradient(145deg,#1c1238,#301b66 48%,#5035ad)!important;
}
body .vheli-auth-visual:before{opacity:.58;background-image:linear-gradient(rgba(255,255,255,.055) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.05) 1px,transparent 1px)!important;background-size:38px 38px!important}
body .vheli-auth-panel{background:linear-gradient(145deg,#fff,#fbfaff)!important}
body .vheli-auth-copy h1{color:var(--vv-ink)!important;letter-spacing:-.052em}body .vheli-auth-copy p{color:var(--vv-muted)!important}
body .vheli-auth-field input{border-color:rgba(80,60,137,.17)!important;border-radius:14px!important;background:#fff!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.8),0 5px 13px rgba(38,24,90,.025)}
body .vheli-auth-field input:focus{border-color:rgba(107,77,244,.62)!important;box-shadow:0 0 0 4px rgba(107,77,244,.10)!important}
body .vheli-auth-primary{background:linear-gradient(135deg,#6042e9,#7e60f6,#977eff)!important;box-shadow:0 15px 31px rgba(89,59,218,.27)!important}
body .vheli-auth-showcase{box-shadow:0 28px 62px rgba(7,4,37,.23);border-radius:28px!important}.vheli-auth-heli-bubble{border-color:rgba(255,255,255,.2)!important;background:rgba(255,255,255,.13)!important}

body .vheli-onboarding-shell,
body .vheli-onboarding-root{background:radial-gradient(circle at 88% 8%,rgba(139,115,255,.17),transparent 29rem),linear-gradient(145deg,#fbfaff,#f5f2fd)!important}
body .vheli-onboarding-stage,
body .vheli-onboarding-overview-card,
body .vheli-onboarding-copy-panel{border-color:var(--vv-line)!important;border-radius:28px!important;box-shadow:var(--vv-shadow-sm)!important}

body .vhc-page{background:linear-gradient(145deg,#faf9ff,#f4f2fb 52%,#fafaff)!important;color:var(--vv-ink)}
body .vhc-hero{background:radial-gradient(circle at 9% 18%,rgba(130,103,255,.17),transparent 27rem),radial-gradient(circle at 86% 78%,rgba(125,103,247,.12),transparent 24rem),linear-gradient(145deg,#fbfaff,#f5f2fc)!important}
body .vhc-hero:after{background:radial-gradient(circle,rgba(134,108,255,.14),transparent 68%)!important}
body .vhc-hero h1{color:var(--vv-ink)!important}.vhc-hero h1 em{color:#6244e7!important}.vhc-hero p{color:var(--vv-muted)!important}
body .vhc-main-link,body .vhc-plan-cta,body .vhc-signup-card button{border:1px solid rgba(255,255,255,.15)!important;border-radius:15px!important;background:linear-gradient(135deg,#6042e9,#7d5df5,#957bff)!important;box-shadow:0 15px 31px rgba(89,59,218,.24)!important}
body .vhc-ghost-link{border-color:rgba(107,77,244,.15)!important;border-radius:15px!important;background:rgba(255,255,255,.79)!important;color:#553bd0!important;box-shadow:var(--vv-shadow-xs)}
body .vhc-plan,body .vhc-signup-card,body .vhc-security,body .vhc-common{border-color:var(--vv-line)!important;background:linear-gradient(145deg,#fff,#fbfaff)!important;box-shadow:var(--vv-shadow-xs)!important}
body .vhc-plan{border-radius:26px!important}.vhc-plan.is-featured{border-color:rgba(107,77,244,.6)!important;box-shadow:0 26px 62px rgba(82,53,198,.17)!important}.vhc-plan-symbol{background:linear-gradient(145deg,#f4f1ff,#eae3ff)!important;color:#6246dd!important;border-color:rgba(107,77,244,.12)!important}
body .vhc-period{border-color:rgba(107,77,244,.12)!important;background:#f1eeff!important}.vhc-period button.is-active{background:linear-gradient(135deg,#6042e9,#7d5df5)!important;box-shadow:0 9px 20px rgba(89,59,218,.21)!important}

/* --------------------------------------------------------------------------
   Clinical portal and professional onboarding
   -------------------------------------------------------------------------- */

.vheli-clinical-app{background:linear-gradient(145deg,#faf9ff,#f4f2fb 52%,#fbfbff)!important}
.vheli-clinical-app .vhc-shell{background:transparent!important}
.vheli-clinical-app .vhc-sidebar{
  isolation:isolate;
  border-right:1px solid rgba(255,255,255,.055);
  background:radial-gradient(circle at 88% 4%,rgba(142,112,255,.27),transparent 23rem),linear-gradient(168deg,#17102f,#211443 54%,#151027)!important;
}
.vheli-clinical-app .vhc-sidebar:before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;opacity:.35;background-image:linear-gradient(rgba(255,255,255,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);background-size:36px 36px;mask-image:linear-gradient(transparent,black 16%,black 86%,transparent)}
.vheli-clinical-app .vhc-brand small{color:rgba(229,224,248,.6)}
.vheli-clinical-app .vhc-sidebar nav{gap:5px}.vheli-clinical-app .vhc-sidebar nav button{position:relative;min-height:46px;border:1px solid transparent;border-radius:15px;color:rgba(228,223,246,.67);transition:.18s ease}.vheli-clinical-app .vhc-sidebar nav button:hover{transform:translateX(2px);border-color:rgba(255,255,255,.07);background:rgba(255,255,255,.07)}.vheli-clinical-app .vhc-sidebar nav button.is-active{border-color:rgba(176,156,255,.15);background:linear-gradient(100deg,rgba(128,101,243,.25),rgba(255,255,255,.055));box-shadow:inset 0 1px 0 rgba(255,255,255,.08),0 10px 26px rgba(7,3,35,.12)}
.vheli-clinical-app .vhc-topbar{height:84px;border-color:rgba(79,59,132,.08);background:rgba(250,249,254,.79);box-shadow:0 7px 22px rgba(34,22,80,.025);backdrop-filter:blur(22px) saturate(1.14)}
.vheli-clinical-app #vhc-view{max-width:1540px;padding:clamp(24px,3.2vw,46px)}
.vheli-clinical-app .vhc-page-head h1,.vheli-clinical-app .vhc-patient-hero h1{font-size:clamp(30px,3vw,44px);letter-spacing:-.052em;color:var(--vv-ink)}
.vheli-clinical-app .vhc-page-head span,.vheli-clinical-app .vhc-patient-hero span,.vheli-clinical-app .vhc-card header span,.vheli-clinical-app .vhc-section-head span{color:#6548e7}
.vheli-clinical-app :is(.vhc-card,.vhc-metric,.vhc-patient,.vhc-patient-hero,.vhc-share-card,.vhc-profile-card,.vhc-finding,.vhc-record-list article,.vhc-context-card-button){border-color:var(--vv-line)!important;border-radius:22px!important;background:linear-gradient(145deg,#fff,#fbfaff)!important;box-shadow:var(--vv-shadow-xs)!important}
.vheli-clinical-app .vhc-patient:hover,.vheli-clinical-app .vhc-context-card-button:hover{border-color:rgba(107,77,244,.28)!important;box-shadow:var(--vv-shadow-sm)!important}
.vheli-clinical-app .vhc-metric{border-bottom:3px solid rgba(107,77,244,.25)!important}.vheli-clinical-app .vhc-metric.is-risk{border-bottom-color:#db6387!important}.vheli-clinical-app .vhc-metric.is-warn{border-bottom-color:#e6aa51!important}
.vheli-clinical-app .vhc-executive,.vheli-clinical-app .vhc-code-large{border:1px solid rgba(158,140,255,.18);border-radius:24px;background:radial-gradient(circle at 88% 18%,rgba(190,172,255,.26),transparent 28%),linear-gradient(135deg,#26164c,#3d257f 55%,#6046cd)!important;box-shadow:0 25px 62px rgba(44,27,122,.18)}
.vheli-clinical-app .vhc-search input,.vheli-clinical-app .vhc-profile-fields :is(input,textarea),.vheli-clinical-app .vhc-context-period select{border-color:rgba(80,60,137,.16)!important;border-radius:14px!important;background:#fff!important;box-shadow:0 3px 10px rgba(38,24,90,.02)}
.vheli-clinical-app .vhc-search input:focus,.vheli-clinical-app .vhc-profile-fields :is(input,textarea):focus,.vheli-clinical-app .vhc-context-period select:focus{border-color:rgba(107,77,244,.58)!important;box-shadow:0 0 0 4px rgba(107,77,244,.1)!important;outline:none}
.vheli-clinical-app .vhc-window-group button,.vheli-clinical-app .vhc-density-group button,.vheli-clinical-app .vhc-clinical-layers button,.vheli-clinical-app .vhc-timeline-controls button{border-color:rgba(107,77,244,.12)!important;border-radius:12px!important;background:#f5f2ff!important;color:#5840cf!important}.vheli-clinical-app .vhc-window-group button.is-active,.vheli-clinical-app .vhc-density-group button.is-active,.vheli-clinical-app .vhc-clinical-layers button.is-active,.vheli-clinical-app .vhc-timeline-controls button.is-active{background:linear-gradient(135deg,#6042e9,#795af5)!important;color:#fff!important;box-shadow:0 10px 20px rgba(89,59,218,.22)!important}
.vheli-clinical-app .vhc-target-band{fill:#647dec!important;opacity:.1}.vheli-clinical-app .vhc-chart-limit{stroke:#7590ee!important}.vheli-clinical-app .vhc-chart-line{stroke:#6749ec!important}.vheli-clinical-app .vhc-reading-dot.is-range{fill:#6749ec!important}.vheli-clinical-app .vhc-finding.is-stable{border-left-color:#607be8!important}

body .vdo-page{background:radial-gradient(circle at 8% 14%,rgba(128,102,255,.16),transparent 28rem),linear-gradient(145deg,#fbfaff,#f3f0fb)!important}
body .vdo-card{border-color:var(--vv-line)!important;border-radius:32px!important;background:linear-gradient(145deg,#fff,#fbfaff)!important;box-shadow:0 34px 96px rgba(39,22,104,.14)!important}.vdo-grid article{border:1px solid var(--vv-line);border-radius:18px;background:#faf9ff!important}.vdo-kicker{color:#6749e9!important}.vdo-action{border:1px solid rgba(158,140,255,.18);border-radius:22px;background:linear-gradient(135deg,#29194f,#4b31a9 58%,#6a4ce5)!important;box-shadow:0 21px 48px rgba(43,25,122,.18)}.vdo-card footer a{background:linear-gradient(135deg,#6042e9,#7d5df5)!important;box-shadow:0 12px 26px rgba(89,59,218,.22)}

/* --------------------------------------------------------------------------
   PWA layer
   -------------------------------------------------------------------------- */

.vheli-install-card,.vheli-push-card{
  border-color:rgba(107,77,244,.16)!important;
  border-radius:20px!important;
  background:rgba(255,255,255,.9)!important;
  box-shadow:0 24px 60px rgba(37,22,95,.18)!important;
  backdrop-filter:blur(18px) saturate(1.12);
}
.vheli-install-card img{border-radius:15px;box-shadow:0 11px 22px rgba(90,58,218,.18)}.vheli-install-card span,.vheli-push-card span,.vheli-pwa-modal>span{color:#6849ec!important}
.vheli-pwa-modal-backdrop{background:rgba(24,15,55,.54)!important;backdrop-filter:blur(15px)!important}.vheli-pwa-modal{border:1px solid rgba(255,255,255,.75);border-radius:28px!important;background:linear-gradient(145deg,#fff,#fbfaff)!important;box-shadow:var(--vv-shadow-lg)!important}.vheli-pwa-close{border:1px solid rgba(107,77,244,.1);background:#f2efff!important;color:#6044db!important}

/* --------------------------------------------------------------------------
   Responsive behavior and motion hygiene
   -------------------------------------------------------------------------- */

@media (max-width:1180px){
  .vheli-shell{grid-template-columns:260px minmax(0,1fr)}
  .vheli-content{max-width:1320px}
  .vheli-glucose-card{min-height:194px}
}

@media (max-width:820px){
  .vheli-shell{display:block;min-height:100dvh}
  .vheli-sidebar{width:min(294px,84vw);padding-top:max(25px,env(safe-area-inset-top));border-right:1px solid rgba(255,255,255,.1);border-radius:0 24px 24px 0;box-shadow:18px 0 48px rgba(15,7,48,.25)}
  .vheli-topbar{height:74px;padding:0 18px;padding-top:env(safe-area-inset-top)}
  .vheli-content{padding:25px 18px calc(88px + env(safe-area-inset-bottom))}
  .vheli-h1{font-size:clamp(30px,7vw,40px)}
  .vheli-page-head{align-items:flex-start;flex-direction:column}
  .vheli-topbar-title{font-size:12px}
  .vheli-intelligence-card,.vheli-glucose-card{min-height:188px}
  .vheli-clinical-app .vhc-topbar{height:74px;padding:0 18px;padding-top:env(safe-area-inset-top)}
  .vheli-clinical-app #vhc-view{padding:24px 18px calc(88px + env(safe-area-inset-bottom))}
}

@media (max-width:640px){
  .vheli-grid{gap:13px;margin-top:20px}.vheli-hero-grid{gap:13px;margin-top:22px}.vheli-section{margin-top:24px}
  .vheli-card,.vheli-app .vheli-card,.vheli-app .vheli-metric,.vheli-app .vheli-daily-metric,.vheli-app .vheli-today-metric{padding:18px;border-radius:20px}
  .vheli-glucose-card{min-height:174px;border-radius:23px}.vheli-glucose-value{font-size:54px}.vheli-glucose-card>img{width:102px;height:102px}
  .vheli-intelligence-card{border-radius:23px}.vheli-intelligence-card strong{font-size:17px}
  .vheli-filter-row,.vheli-subnav,.vheli-period-quick,.vheli-date-range,.vheli-food-response-chips,.vheli-strength-tabs,.vheli-strength-periods,.vheli-sleep-period-tabs,.vheli-beverage-category-tabs{overflow-x:auto;flex-wrap:nowrap;scrollbar-width:none}.vheli-filter-row::-webkit-scrollbar,.vheli-subnav::-webkit-scrollbar,.vheli-period-quick::-webkit-scrollbar,.vheli-date-range::-webkit-scrollbar,.vheli-food-response-chips::-webkit-scrollbar,.vheli-strength-tabs::-webkit-scrollbar,.vheli-strength-periods::-webkit-scrollbar,.vheli-sleep-period-tabs::-webkit-scrollbar,.vheli-beverage-category-tabs::-webkit-scrollbar{display:none}.vheli-filter-row button,.vheli-subnav button,.vheli-period-quick button,.vheli-date-range button,.vheli-food-response-chips button,.vheli-strength-tabs button,.vheli-strength-periods button,.vheli-sleep-period-tabs button,.vheli-beverage-category-tabs button{white-space:nowrap}
  .vheli-timeline-date{padding-left:66px}.vheli-timeline-item{grid-template-columns:48px 30px minmax(0,1fr);gap:8px}.vheli-timeline-item:not(:last-child):after{left:62px}.vheli-time{font-size:9px}.vheli-event{border-radius:15px}
  .vheli-modal-backdrop{align-items:end;padding:0}.vheli-modal{width:100%;max-height:min(90dvh,820px);border-radius:27px 27px 0 0;padding:20px 18px calc(23px + env(safe-area-inset-bottom));animation:vv-sheet-in .28s cubic-bezier(.2,.8,.2,1)}
  .vheli-modal-head{position:sticky;top:-20px;z-index:4;margin:-20px -18px 16px;padding:17px 18px 14px;background:rgba(255,255,255,.93);backdrop-filter:blur(16px)}
  .vheli-modal-head:before{content:"";display:block;width:36px;height:4px;margin:0 auto 13px;border-radius:99px;background:#ded7f3}
  .vheli-food-plan-suggestion{gap:11px;border-radius:20px}.vheli-food-plan-actions .vheli-btn{min-height:44px}
  .vheli-recipe-toolbar,.vheli-recipe-calendar-wrap,.vheli-recipe-share-card{border-radius:22px!important}
  .vheli-toast{left:13px;right:13px;bottom:calc(16px + env(safe-area-inset-bottom));text-align:center}
  .vheli-fab{position:fixed;right:18px;bottom:calc(19px + env(safe-area-inset-bottom));z-index:91;width:57px;height:57px}
  .vheli-app .vhc-record-modal-backdrop{align-items:end;padding:0!important}.vheli-app .vhc-record-modal{width:100%!important;max-height:90dvh!important;border-radius:25px 25px 0 0!important}
}

@media (max-width:420px){
  .vheli-content{padding-left:14px;padding-right:14px}.vheli-topbar{padding-left:14px;padding-right:14px}.vheli-h1{font-size:30px}.vheli-lead{font-size:13px}.vheli-glucose-value{font-size:50px}.vheli-actions,.vheli-profile-actions{display:grid;grid-template-columns:1fr}.vheli-actions .vheli-btn,.vheli-profile-actions .vheli-btn{width:100%}.vheli-food-plan-actions{grid-template-columns:1fr!important}.vheli-food-plan-actions .vheli-btn{width:100%}
  .vheli-user img{width:38px;height:38px}.vheli-modal-head h3{font-size:22px}
}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{scroll-behavior:auto!important;animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}
}

@keyframes vv-orbit{to{transform:rotate(360deg)}}
@keyframes vv-levitate{0%,100%{transform:translateY(0)}50%{transform:translateY(-7px)}}
@keyframes vv-sheet-in{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:translateY(0)}}

/* --------------------------------------------------------------------------
   RC16 · Contrast contract and mobile floating-control coordination

   Any surface that uses the deep VHELI intelligence palette must expose a
   light foreground.  These rules deliberately target the content columns,
   rather than generic descendants, so light pills, status chips and nested
   white cards retain their own readable dark text.
   -------------------------------------------------------------------------- */

/* Heli keeps its original purple presence. The avatar remains light only as
   the image frame; the launcher itself is never a white card. */
.vheli-heli-launcher,
.vhc-heli-launcher{
  border-color:rgba(218,208,255,.38)!important;
  background:
    radial-gradient(circle at 88% 8%,rgba(201,183,255,.28),transparent 38%),
    linear-gradient(135deg,#251650 0%,#5033ad 54%,#7658ed 100%)!important;
  color:#fff!important;
  box-shadow:0 20px 48px rgba(43,24,122,.34),inset 0 1px 0 rgba(255,255,255,.19)!important;
}
.vheli-heli-launcher>b,
.vheli-heli-launcher>strong,
.vhc-heli-launcher>b,
.vhc-heli-launcher>strong{color:#fff!important;text-shadow:0 1px 1px rgba(19,10,61,.28)}
.vheli-heli-launcher .vheli-heli-avatar,
.vhc-heli-launcher .vhc-heli-avatar{
  border:1px solid rgba(255,255,255,.32)!important;
  background:linear-gradient(145deg,#fff,#e6ddff)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.9),0 8px 18px rgba(17,8,59,.22)!important;
}
.vheli-heli-launcher:before,.vhc-heli-launcher:before{border-color:rgba(221,212,255,.43)!important}
.vheli-heli-launcher:after,.vhc-heli-launcher:after{border-color:rgba(191,176,255,.36)!important}

/* Deep-surface baseline. Explicit foreground rules below defeat inherited
   dark colours from legacy module styles without changing their layout. */
.vheli-app :is(
  .vheli-intelligence-card,
  .vheli-dashboard-decide,
  .vheli-ai-usage-hero,
  .vheli-membership-hero,
  .vheli-activation-hero-card,
  .vheli-lab-hero,
  .vheli-recipe-plan-hero,
  .vheli-activity-hero,
  .vheli-device-hero,
  .vheli-sleep-hero,
  .vheli-strength-hero,
  .vheli-hydration-hero,
  .vheli-panorama-hero,
  .vheli-strength-week-hero,
  .vheli-active-v2-head,
  .vheli-decide-hero,
  .vheli-lab-analysis-summary,
  .vheli-help-footer-card
){color:#fff}

/* Dashboard / VHELI Decide entry point. */
.vheli-app .vheli-dashboard-decide-copy>span{color:#ded4ff!important}
.vheli-app .vheli-dashboard-decide-copy h2{color:#fff!important;text-shadow:0 1px 1px rgba(20,10,58,.26)}
.vheli-app .vheli-dashboard-decide-copy :is(p,small){color:rgba(255,255,255,.81)!important}

/* Activity and strength hero copy. The light pill/button controls intentionally
   keep their own purple text; only the text sitting on the purple art changes. */
.vheli-app .vheli-activity-hero-copy h2,
.vheli-app .vheli-strength-hero>div>h2{color:#fff!important;text-shadow:0 1px 1px rgba(20,10,58,.3)}
.vheli-app .vheli-activity-hero-copy p,
.vheli-app .vheli-strength-hero>div>p{color:rgba(255,255,255,.82)!important;text-shadow:0 1px 1px rgba(20,10,58,.22)}
.vheli-app .vheli-strength-hero>div>span{color:#ded5ff!important}
.vheli-app .vheli-activity-hero .vheli-activity-kicker{background:rgba(255,255,255,.95)!important;color:#5e43d8!important}

/* Device connection hero. Chips retain their state colour on their light
   background, while copy and the current-reading area become legible. */
.vheli-app .vheli-device-hero-copy h2,
.vheli-app .vheli-device-reading>strong,
.vheli-app .vheli-device-reading>strong em{color:#fff!important;text-shadow:0 1px 1px rgba(20,10,58,.28)}
.vheli-app .vheli-device-hero-copy :is(p,small),
.vheli-app .vheli-device-reading>small,
.vheli-app .vheli-device-reading>time{color:rgba(255,255,255,.80)!important}
.vheli-app .vheli-device-reading>span{color:#cfc4ff!important}
.vheli-app .vheli-device-reading{border-color:rgba(255,255,255,.34)!important}
.vheli-app .vheli-device-beta{background:rgba(255,255,255,.94)!important;color:#5b41d7!important}
.vheli-app .vheli-device-status{box-shadow:0 5px 13px rgba(20,10,58,.14)}

/* AI usage hero is a deep surface after RC15, so its inherited ink must not
   remain dark. */
.vheli-app .vheli-ai-usage-hero .vheli-eyebrow{color:#ded5ff!important}
.vheli-app .vheli-ai-usage-hero h4{color:#fff!important;text-shadow:0 1px 1px rgba(20,10,58,.28)}
.vheli-app .vheli-ai-usage-hero p{color:rgba(255,255,255,.82)!important}

/* On phones there can only be one control in the lower-right safe area.
   The existing scroll-to-top control has priority; this only changes visual
   visibility, not the controls' events or state. */
@media (max-width:640px){
  .vheli-fab{transition:opacity .2s ease,transform .2s ease,visibility .2s ease}
  html.vheli-back-to-top-visible .vheli-fab,
  html.vheli-floating-register-visible .vheli-fab,
  html.vheli-mobile-menu-open .vheli-fab{
    opacity:0!important;
    visibility:hidden!important;
    pointer-events:none!important;
    transform:translateY(12px) scale(.86)!important;
  }
}

/* 1.0.0-rc.17 final boot override. Must stay last because vheli-vision.css
   loads after the main app stylesheet. */
.vheli-app .vheli-boot-premium{
  background:
    radial-gradient(circle at 50% 20%,rgba(101,72,243,.13),transparent 30%),
    radial-gradient(circle at 78% 76%,rgba(49,207,182,.10),transparent 30%),
    linear-gradient(180deg,#faf8ff 0%,#f5f1ff 48%,#fbfaff 100%)!important;
}
.vheli-app .vheli-boot-premium:before{
  background-image:none!important;
  background:radial-gradient(circle,rgba(101,72,243,.09),rgba(101,72,243,.035) 34%,transparent 68%)!important;
}
.vheli-app .vheli-boot-premium:after{
  background:
    linear-gradient(115deg,transparent 0%,rgba(255,255,255,.62) 46%,transparent 54%),
    radial-gradient(circle at 50% 30%,rgba(255,255,255,.74),transparent 38%)!important;
  background-size:190% 100%,auto!important;
}
.vheli-app .vheli-boot-analytics,
.vheli-app .vheli-boot-data-card,
.vheli-app .vheli-boot-chart,
.vheli-app .vheli-boot-data-metrics,
.vheli-app .vheli-boot-data-head{display:none!important}
.vheli-app .vheli-boot-mark{width:188px!important;height:188px!important;margin:0 0 26px!important}
.vheli-app .vheli-boot-mark:before{inset:19px!important;border-style:solid!important;animation:none!important}
.vheli-app .vheli-boot-mark:after{inset:0!important;border-style:solid!important;animation:vheliBootCleanRing 3.8s ease-in-out infinite!important}
.vheli-app .vheli-boot-premium .vheli-boot-logo{width:112px!important;height:112px!important;animation:vheliBootCleanLogo 3.2s ease-in-out infinite!important}
.vheli-app .vheli-boot-scan{
  display:flex!important;
  background:rgba(255,255,255,.58)!important;
  border-color:rgba(101,72,243,.11)!important;
  box-shadow:0 18px 46px rgba(66,42,153,.07),inset 0 1px 0 rgba(255,255,255,.82)!important;
}
@media(max-width:600px){
  .vheli-app .vheli-boot-mark{width:166px!important;height:166px!important;margin-bottom:24px!important}
  .vheli-app .vheli-boot-premium .vheli-boot-logo{width:104px!important;height:104px!important}
}
@media(max-height:720px){
  .vheli-app .vheli-boot-mark{width:146px!important;height:146px!important;margin-bottom:18px!important}
  .vheli-app .vheli-boot-premium .vheli-boot-logo{width:92px!important;height:92px!important}
}

/* 1.0.0-rc.17: keep the global boot screen lightweight even though this
   visual layer loads after vheli-app.css. */
.vheli-app .vheli-boot-premium{
  background:
    radial-gradient(circle at 50% 20%,rgba(101,72,243,.13),transparent 30%),
    radial-gradient(circle at 78% 76%,rgba(49,207,182,.10),transparent 30%),
    linear-gradient(180deg,#faf8ff 0%,#f5f1ff 48%,#fbfaff 100%)!important;
}
.vheli-app .vheli-boot-analytics,
.vheli-app .vheli-boot-data-card,
.vheli-app .vheli-boot-chart,
.vheli-app .vheli-boot-data-metrics,
.vheli-app .vheli-boot-data-head{display:none!important}
.vheli-app .vheli-boot-scan{
  display:flex!important;
  background:rgba(255,255,255,.58)!important;
  border-color:rgba(101,72,243,.11)!important;
  box-shadow:0 18px 46px rgba(66,42,153,.07),inset 0 1px 0 rgba(255,255,255,.82)!important;
}
.vheli-app .vheli-boot-mark:before{inset:19px!important;border-style:solid!important;animation:none!important}
.vheli-app .vheli-boot-mark:after{inset:0!important;border-style:solid!important;animation:vheliBootCleanRing 3.8s ease-in-out infinite!important}
.vheli-app .vheli-boot-premium .vheli-boot-logo{animation:vheliBootCleanLogo 3.2s ease-in-out infinite!important}

/* 1.0.0-rc.18 · AI tech boot proposal.
   Keeps RC17 lightweight, but restores the intelligent pulse language around
   the VHELI mark with a cleaner glass core and thinner title treatment. */
.vheli-app .vheli-boot-premium{
  background:
    radial-gradient(circle at 50% 24%,rgba(255,255,255,.92),transparent 30%),
    radial-gradient(circle at 46% 26%,rgba(119,91,255,.18),transparent 34%),
    radial-gradient(circle at 70% 68%,rgba(42,214,189,.13),transparent 32%),
    linear-gradient(180deg,#fbfaff 0%,#f3efff 48%,#fbfaff 100%)!important;
}
.vheli-app .vheli-boot-premium:before{
  inset:auto auto 10% 50%!important;
  width:min(620px,92vw)!important;
  height:min(620px,92vw)!important;
  background:
    radial-gradient(circle,rgba(103,72,243,.12),rgba(103,72,243,.04) 38%,transparent 66%)!important;
  opacity:.86!important;
  filter:blur(.5px)!important;
}
.vheli-app .vheli-boot-premium:after{
  background:
    linear-gradient(120deg,transparent 0%,rgba(255,255,255,.72) 45%,transparent 56%),
    linear-gradient(rgba(103,72,243,.035) 1px,transparent 1px),
    linear-gradient(90deg,rgba(103,72,243,.032) 1px,transparent 1px)!important;
  background-size:210% 100%,34px 34px,34px 34px!important;
  opacity:.54!important;
  mask-image:radial-gradient(circle at center,#000 0%,#000 44%,transparent 78%)!important;
  animation:vheliBootAiSheen 6.2s ease-in-out infinite!important;
}
.vheli-app .vheli-boot-mark{
  width:206px!important;
  height:206px!important;
  margin-bottom:25px!important;
}
.vheli-app .vheli-boot-mark:before{
  inset:38px!important;
  border-radius:36%!important;
  background:
    radial-gradient(circle at 50% 36%,rgba(255,255,255,.96),rgba(255,255,255,.80) 54%,rgba(244,240,255,.72) 100%)!important;
  border:1px solid rgba(255,255,255,.82)!important;
  box-shadow:
    0 28px 82px rgba(72,43,169,.18),
    0 0 0 10px rgba(255,255,255,.24),
    inset 0 1px 0 rgba(255,255,255,.95),
    inset 0 -18px 34px rgba(103,72,243,.07)!important;
  transform:rotate(8deg)!important;
  backdrop-filter:blur(18px)!important;
  -webkit-backdrop-filter:blur(18px)!important;
}
.vheli-app .vheli-boot-mark:after{
  inset:4px!important;
  border:1px solid rgba(103,72,243,.18)!important;
  box-shadow:
    0 0 0 18px rgba(103,72,243,.035),
    0 0 0 38px rgba(49,207,182,.018),
    0 0 42px rgba(103,72,243,.18)!important;
  animation:vheliBootAiPulse 2.9s ease-in-out infinite!important;
}
.vheli-app .vheli-boot-mark>span{
  display:block!important;
  position:absolute!important;
  inset:18px!important;
  z-index:1!important;
  border-radius:50%!important;
  background:
    conic-gradient(from 120deg,transparent 0 15%,rgba(103,72,243,.72) 18%,transparent 27%,transparent 48%,rgba(49,207,182,.72) 53%,transparent 61%,transparent 82%,rgba(183,140,255,.68) 87%,transparent 94%),
    radial-gradient(circle,transparent 57%,rgba(255,255,255,.58) 58%,transparent 61%)!important;
  filter:drop-shadow(0 0 18px rgba(103,72,243,.20))!important;
  animation:vheliBootAiOrbit 8.5s linear infinite!important;
  pointer-events:none!important;
}
.vheli-app .vheli-boot-premium .vheli-boot-logo{
  width:114px!important;
  height:114px!important;
  filter:drop-shadow(0 22px 30px rgba(65,37,155,.22))!important;
  animation:vheliBootAiLogo 3.4s ease-in-out infinite!important;
}
.vheli-app .vheli-boot-premium .vheli-boot-copy strong{
  color:#6447ea!important;
  font-size:12px!important;
  font-weight:850!important;
  letter-spacing:.04em!important;
}
.vheli-app .vheli-boot-premium .vheli-boot-copy h2{
  max-width:560px!important;
  margin:10px auto 10px!important;
  color:#1f1737!important;
  font-size:clamp(29px,4.4vw,44px)!important;
  font-weight:760!important;
  line-height:1.06!important;
  letter-spacing:-.032em!important;
}
.vheli-app .vheli-boot-premium .vheli-boot-copy p{
  max-width:390px!important;
  color:#6e6682!important;
  font-size:13px!important;
}
.vheli-app .vheli-boot-scan{
  width:min(342px,78vw)!important;
  min-height:40px!important;
  margin-top:30px!important;
  background:
    linear-gradient(180deg,rgba(255,255,255,.78),rgba(255,255,255,.52))!important;
  border-color:rgba(103,72,243,.14)!important;
  box-shadow:
    0 18px 50px rgba(65,39,158,.10),
    inset 0 1px 0 rgba(255,255,255,.9)!important;
}
.vheli-app .vheli-boot-scan:before{
  content:"Procesando señales"!important;
  margin-right:4px!important;
  color:#5f52a3!important;
  font-size:10px!important;
  font-weight:850!important;
  letter-spacing:.10em!important;
  text-transform:uppercase!important;
}
.vheli-app .vheli-boot-scan i{
  width:7px!important;
  height:7px!important;
  opacity:.42!important;
  box-shadow:0 0 14px currentColor!important;
  animation:vheliBootAiDot 1.45s ease-in-out infinite!important;
}
.vheli-app .vheli-boot-scan i:nth-child(1){color:#6548f3!important;background:currentColor!important}
.vheli-app .vheli-boot-scan i:nth-child(2){color:#9a82ff!important;background:currentColor!important}
.vheli-app .vheli-boot-scan i:nth-child(3){color:#31cfb6!important;background:currentColor!important}
.vheli-app .vheli-boot-premium .vheli-boot-progress{
  width:min(292px,72vw)!important;
  height:4px!important;
  margin-top:19px!important;
  background:rgba(103,72,243,.11)!important;
}
.vheli-app .vheli-boot-premium .vheli-boot-progress span{
  background:linear-gradient(90deg,#6548f3 0%,#b78cff 48%,#31cfb6 100%)!important;
  animation:vheliBootAiProgress 1.5s ease-in-out infinite!important;
}
.vheli-app .vheli-boot-premium>small{
  margin-top:15px!important;
  color:#9890ac!important;
  font-size:10px!important;
}
@keyframes vheliBootAiSheen{
  0%,100%{background-position:170% 0,0 0,0 0;opacity:.42}
  50%{background-position:25% 0,0 0,0 0;opacity:.62}
}
@keyframes vheliBootAiPulse{
  0%,100%{transform:scale(.965);opacity:.68}
  50%{transform:scale(1.045);opacity:1}
}
@keyframes vheliBootAiOrbit{to{transform:rotate(360deg)}}
@keyframes vheliBootAiLogo{
  0%,100%{transform:translateY(0) scale(1)}
  50%{transform:translateY(-6px) scale(1.018)}
}
@keyframes vheliBootAiDot{
  0%,100%{opacity:.32;transform:scale(.82)}
  45%{opacity:1;transform:scale(1.25)}
}
@keyframes vheliBootAiProgress{
  0%{transform:translateX(-130%)}
  100%{transform:translateX(335%)}
}
@media(max-width:600px){
  .vheli-app .vheli-boot-mark{width:178px!important;height:178px!important;margin-bottom:23px!important}
  .vheli-app .vheli-boot-mark:before{inset:34px!important}
  .vheli-app .vheli-boot-mark>span{inset:15px!important}
  .vheli-app .vheli-boot-premium .vheli-boot-logo{width:104px!important;height:104px!important}
  .vheli-app .vheli-boot-premium .vheli-boot-copy h2{font-size:34px!important;max-width:340px!important}
  .vheli-app .vheli-boot-scan{width:min(306px,82vw)!important;margin-top:26px!important}
}
@media(max-height:720px){
  .vheli-app .vheli-boot-mark{width:154px!important;height:154px!important;margin-bottom:18px!important}
  .vheli-app .vheli-boot-mark:before{inset:29px!important}
  .vheli-app .vheli-boot-mark>span{inset:13px!important}
  .vheli-app .vheli-boot-premium .vheli-boot-logo{width:90px!important;height:90px!important}
  .vheli-app .vheli-boot-premium .vheli-boot-copy h2{font-size:29px!important;margin:8px auto!important}
  .vheli-app .vheli-boot-scan{margin-top:20px!important}
}
@media(prefers-reduced-motion:reduce){
  .vheli-app .vheli-boot-premium:after,
  .vheli-app .vheli-boot-mark:after,
  .vheli-app .vheli-boot-mark>span,
  .vheli-app .vheli-boot-premium .vheli-boot-logo,
  .vheli-app .vheli-boot-scan i,
  .vheli-app .vheli-boot-premium .vheli-boot-progress span{
    animation:none!important;
  }
}

/* 1.0.0-rc.19 · clean beautiful boot proposal.
   Minimal VHELI mark, subtle AI aura, no status capsules or visual clutter. */
.vheli-app .vheli-boot-premium{
  min-height:100svh!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  gap:0!important;
  padding:max(58px,calc(env(safe-area-inset-top) + 32px)) 24px max(34px,calc(env(safe-area-inset-bottom) + 22px))!important;
  overflow:hidden!important;
  background:
    radial-gradient(circle at 50% 25%,rgba(255,255,255,.98),transparent 32%),
    radial-gradient(circle at 50% 28%,rgba(105,72,244,.125),transparent 38%),
    radial-gradient(circle at 72% 73%,rgba(48,207,182,.085),transparent 31%),
    linear-gradient(180deg,#fdfbff 0%,#f7f3ff 52%,#fff 100%)!important;
}
.vheli-app .vheli-boot-premium:before{
  content:""!important;
  position:absolute!important;
  left:50%!important;
  top:44%!important;
  width:min(560px,88vw)!important;
  height:min(560px,88vw)!important;
  transform:translate(-50%,-50%)!important;
  border-radius:50%!important;
  background:
    radial-gradient(circle,rgba(103,72,243,.085),rgba(103,72,243,.032) 38%,transparent 68%)!important;
  opacity:.9!important;
  filter:blur(2px)!important;
  animation:vheliBootSoftAura 4.8s ease-in-out infinite!important;
  pointer-events:none!important;
}
.vheli-app .vheli-boot-premium:after{
  content:""!important;
  position:absolute!important;
  inset:0!important;
  z-index:0!important;
  background:
    linear-gradient(110deg,transparent 0%,rgba(255,255,255,.48) 48%,transparent 58%)!important;
  background-size:220% 100%!important;
  opacity:.34!important;
  mask-image:linear-gradient(to bottom,transparent 0%,#000 22%,#000 76%,transparent 100%)!important;
  animation:vheliBootSoftSheen 7s ease-in-out infinite!important;
  pointer-events:none!important;
}
.vheli-app .vheli-boot-mark,
.vheli-app .vheli-boot-copy,
.vheli-app .vheli-boot-progress,
.vheli-app .vheli-boot-premium>small{
  position:relative!important;
  z-index:2!important;
}
.vheli-app .vheli-boot-mark{
  display:grid!important;
  place-items:center!important;
  width:176px!important;
  height:176px!important;
  margin:0 0 24px!important;
  isolation:isolate!important;
}
.vheli-app .vheli-boot-mark:before,
.vheli-app .vheli-boot-mark:after{
  content:""!important;
  position:absolute!important;
  border-radius:50%!important;
  pointer-events:none!important;
}
.vheli-app .vheli-boot-mark:before{
  inset:28px!important;
  background:rgba(255,255,255,.42)!important;
  border:1px solid rgba(255,255,255,.64)!important;
  box-shadow:
    0 24px 66px rgba(74,42,169,.115),
    0 0 0 1px rgba(103,72,243,.055),
    inset 0 1px 0 rgba(255,255,255,.85)!important;
  backdrop-filter:blur(10px)!important;
  -webkit-backdrop-filter:blur(10px)!important;
}
.vheli-app .vheli-boot-mark:after{
  inset:10px!important;
  border:1px solid rgba(103,72,243,.10)!important;
  box-shadow:
    0 0 0 16px rgba(103,72,243,.018),
    0 0 38px rgba(103,72,243,.12),
    0 0 58px rgba(48,207,182,.055)!important;
  animation:vheliBootCleanPulse 4.4s ease-in-out infinite!important;
}
.vheli-app .vheli-boot-mark>span,
.vheli-app .vheli-boot-orbit,
.vheli-app .vheli-boot-signal,
.vheli-app .vheli-boot-scan{
  display:none!important;
}
.vheli-app .vheli-boot-premium .vheli-boot-logo{
  position:relative!important;
  z-index:3!important;
  width:118px!important;
  height:118px!important;
  max-width:none!important;
  max-height:none!important;
  object-fit:contain!important;
  filter:drop-shadow(0 18px 24px rgba(64,38,147,.15))!important;
  animation:vheliBootSoftLogo 4.2s ease-in-out infinite!important;
}
.vheli-app .vheli-boot-premium .vheli-boot-copy{
  width:min(560px,100%)!important;
  margin:0 auto!important;
  text-align:center!important;
}
.vheli-app .vheli-boot-premium .vheli-boot-copy strong{
  display:block!important;
  color:#6548f3!important;
  font-size:13px!important;
  font-weight:720!important;
  letter-spacing:.01em!important;
}
.vheli-app .vheli-boot-premium .vheli-boot-copy h2{
  max-width:520px!important;
  margin:12px auto 11px!important;
  color:#211936!important;
  font-size:clamp(29px,4.2vw,43px)!important;
  font-weight:520!important;
  line-height:1.12!important;
  letter-spacing:-.018em!important;
}
.vheli-app .vheli-boot-premium .vheli-boot-copy p{
  max-width:360px!important;
  margin:0 auto!important;
  color:#746d86!important;
  font-size:13px!important;
  font-weight:450!important;
  line-height:1.6!important;
}
.vheli-app .vheli-boot-premium .vheli-boot-progress{
  width:min(260px,66vw)!important;
  height:3px!important;
  margin:30px auto 0!important;
  border-radius:999px!important;
  background:rgba(103,72,243,.09)!important;
  overflow:hidden!important;
  box-shadow:none!important;
}
.vheli-app .vheli-boot-premium .vheli-boot-progress span{
  display:block!important;
  width:38%!important;
  height:100%!important;
  border-radius:inherit!important;
  background:linear-gradient(90deg,rgba(103,72,243,.05),#7358f4 42%,#32cfb7 100%)!important;
  box-shadow:0 0 18px rgba(64,207,184,.22)!important;
  animation:vheliBootSoftProgress 1.8s ease-in-out infinite!important;
}
.vheli-app .vheli-boot-premium>small{
  margin-top:18px!important;
  color:#9a93aa!important;
  font-size:10px!important;
  font-weight:650!important;
  letter-spacing:.045em!important;
}
@keyframes vheliBootSoftAura{
  0%,100%{transform:translate(-50%,-50%) scale(.98);opacity:.62}
  50%{transform:translate(-50%,-50%) scale(1.045);opacity:.95}
}
@keyframes vheliBootSoftSheen{
  0%,100%{background-position:180% 0;opacity:.22}
  50%{background-position:28% 0;opacity:.38}
}
@keyframes vheliBootCleanPulse{
  0%,100%{transform:scale(.98);opacity:.58}
  50%{transform:scale(1.035);opacity:.88}
}
@keyframes vheliBootSoftLogo{
  0%,100%{transform:translateY(0) scale(1)}
  50%{transform:translateY(-4px) scale(1.008)}
}
@keyframes vheliBootSoftProgress{
  0%{transform:translateX(-125%)}
  100%{transform:translateX(330%)}
}
@media(max-width:600px){
  .vheli-app .vheli-boot-premium{
    padding:max(52px,calc(env(safe-area-inset-top) + 28px)) 22px max(30px,calc(env(safe-area-inset-bottom) + 20px))!important;
  }
  .vheli-app .vheli-boot-mark{
    width:158px!important;
    height:158px!important;
    margin-bottom:22px!important;
  }
  .vheli-app .vheli-boot-mark:before{inset:25px!important}
  .vheli-app .vheli-boot-mark:after{inset:9px!important}
  .vheli-app .vheli-boot-premium .vheli-boot-logo{
    width:106px!important;
    height:106px!important;
  }
  .vheli-app .vheli-boot-premium .vheli-boot-copy strong{font-size:12.5px!important}
  .vheli-app .vheli-boot-premium .vheli-boot-copy h2{
    max-width:330px!important;
    font-size:31px!important;
    line-height:1.13!important;
    margin:10px auto!important;
  }
  .vheli-app .vheli-boot-premium .vheli-boot-copy p{
    max-width:300px!important;
    font-size:12.5px!important;
  }
  .vheli-app .vheli-boot-premium .vheli-boot-progress{
    width:min(232px,64vw)!important;
    margin-top:27px!important;
  }
}
@media(max-height:720px){
  .vheli-app .vheli-boot-mark{width:138px!important;height:138px!important;margin-bottom:17px!important}
  .vheli-app .vheli-boot-mark:before{inset:23px!important}
  .vheli-app .vheli-boot-premium .vheli-boot-logo{width:92px!important;height:92px!important}
  .vheli-app .vheli-boot-premium .vheli-boot-copy h2{font-size:28px!important;margin:8px auto!important}
  .vheli-app .vheli-boot-premium .vheli-boot-progress{margin-top:22px!important}
}
@media(prefers-reduced-motion:reduce){
  .vheli-app .vheli-boot-premium:before,
  .vheli-app .vheli-boot-premium:after,
  .vheli-app .vheli-boot-mark:after,
  .vheli-app .vheli-boot-premium .vheli-boot-logo,
  .vheli-app .vheli-boot-premium .vheli-boot-progress span{
    animation:none!important;
  }
  .vheli-app .vheli-boot-premium .vheli-boot-progress span{
    transform:none!important;
    width:72%!important;
  }
}

/* RC22 guard — keep Heli stable while iOS keyboard is open. */
@media(max-width:760px){
  html>#vheli-heli-root #vheli-heli-input{
    font-size:16px!important;
    line-height:1.35!important;
    min-height:46px!important;
    max-height:112px!important;
    -webkit-text-size-adjust:100%;
  }
  html.vheli-heli-keyboard-open>#vheli-heli-root .vheli-heli-panel.is-open{
    position:fixed!important;
    left:8px!important;
    right:8px!important;
    top:calc(var(--vheli-visual-offset-top,0px) + env(safe-area-inset-top,0px) + 6px)!important;
    bottom:auto!important;
    height:calc(var(--vheli-visual-viewport-height,100dvh) - env(safe-area-inset-top,0px) - 10px)!important;
    max-height:calc(var(--vheli-visual-viewport-height,100dvh) - env(safe-area-inset-top,0px) - 10px)!important;
    transform:none!important;
  }
}
