:root{--font-system:"DM Sans",Arial,sans-serif;--font-weight-regular:400;--font-weight-medium:400;--font-weight-semibold:400;--text-xs:0.75rem;--text-sm:0.8125rem;--text-base:0.875rem;--text-md:0.9375rem;--text-lg:1.0625rem;--text-xl:1.25rem;--text-2xl:1.5rem;--text-3xl:1.75rem;--tracking-tight:-0.02em;--tracking-normal:-0.01em;--tracking-wide:0.06em;--color-label:#1D1D1F;--color-secondary-label:#6e6e73;--color-tertiary-label:#AEAEB2;--color-separator:rgba(0,0,0,0.04);--color-background:#FFFFFF;--color-surface:#FFFFFF;--color-surface-secondary:#FAFAFA;--color-fill:#F5F5F7;--color-primary:#ea580c;--color-primary-hover:#c2410c;--color-primary-light:#fff7ed;--color-primary-surface:rgba(234,88,12,0.06);--color-primary-border:#fed7aa;--color-primary-icon-bg:#ffedd5;--color-primary-ink:#7c2d12;--color-primary-muted:#fdba74;--font-display:var(--font-system);--color-success-label:#173f5c;--color-success-fill:#e8f1f7;--color-danger-label:#991b1b;--color-danger-fill:#fee2e2;--color-warning-label:#92400e;--color-warning-fill:#fef3c7;--color-info-label:#1e40af;--color-info-fill:#dbeafe;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-7:32px;--space-8:40px;--space-9:48px;--shadow-xs:0 1px 2px rgba(0,0,0,0.04);--shadow-sm:0 1px 3px rgba(0,0,0,0.08),0 1px 2px rgba(0,0,0,0.06);--shadow-md:0 4px 12px rgba(0,0,0,0.08),0 1px 3px rgba(0,0,0,0.06);--shadow-lg:0 8px 24px rgba(0,0,0,0.12),0 2px 8px rgba(0,0,0,0.08);--shadow-xl:0 20px 60px rgba(0,0,0,0.15),0 4px 16px rgba(0,0,0,0.1);--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--radius-xl:20px;--radius-full:9999px;--ease-out:cubic-bezier(0.25,0.46,0.45,0.94);--ease-spring:cubic-bezier(0.34,1.56,0.64,1);--duration-fast:150ms;--duration-normal:250ms;--sidebar-width:260px;--content-max-width:960px}@font-face{font-family:Bricolage Grotesque;font-style:normal;font-weight:800;font-display:swap;src:url(/fonts/bricolage-grotesque-800-latin.woff2) format("woff2")}*,:after,:before{box-sizing:border-box}body,html{margin:0;padding:0;width:100%;min-height:100vh;overflow-x:hidden;max-width:100vw;text-size-adjust:100%}::selection{background:var(--color-primary-light);color:var(--color-primary)}.portal-container,.portal-container *,.portal-login-container,.portal-login-container *,.portal-shell,.portal-shell *{font-family:var(--font-system);font-weight:var(--font-weight-regular);letter-spacing:var(--tracking-normal);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.portal-shell{display:flex;flex-direction:column;min-height:100vh}.portal-container{display:flex;flex:1 1;min-height:100vh;background-color:var(--color-background)}.portal-sidebar{width:var(--sidebar-width);background-color:var(--color-surface);border-right:none;box-shadow:1px 0 8px rgba(0,0,0,.04);display:flex;flex-direction:column;position:fixed;height:100vh;height:100dvh;left:0;top:0;bottom:0;z-index:40;max-height:100dvh}.portal-sidebar-header{padding:var(--space-6);border-bottom:none;box-shadow:none}.portal-sidebar-logo{display:flex;align-items:center;gap:var(--space-2);text-decoration:none;color:inherit}.portal-sidebar-logo img{height:32px;width:auto}.portal-sidebar-nav{flex:1 1;padding:var(--space-4);overflow-y:auto}.portal-nav-item{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-radius:var(--radius-sm);text-decoration:none;color:var(--color-secondary-label);font-size:var(--text-md);transition:background-color var(--duration-fast) var(--ease-out),color var(--duration-fast) var(--ease-out);margin-bottom:var(--space-1)}.portal-nav-item:hover{background-color:var(--color-fill);color:var(--color-label)}.portal-nav-item.active{background-color:var(--color-primary-light);color:var(--color-primary)}.portal-nav-item-icon{display:inline-flex}.portal-nav-item svg{width:20px;height:20px;flex-shrink:0}.portal-nav-item .portal-nav-badge{margin-left:auto}.portal-nav-badge{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 5px;border-radius:var(--radius-full);background-color:#ef4444;color:var(--color-surface);font-size:11px;font-weight:600;line-height:1;box-sizing:border-box}.portal-sidebar-footer{padding:var(--space-4);border-top:none;box-shadow:none}.portal-user-info{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3);border-radius:var(--radius-sm);background-color:var(--color-fill)}.portal-user-avatar{width:var(--space-8);height:var(--space-8);border-radius:50%;background-color:var(--color-primary);color:var(--color-surface);display:flex;align-items:center;justify-content:center;font-size:var(--text-lg);font-weight:var(--font-weight-medium)}.portal-user-details{flex:1 1;min-width:0}.portal-user-name{color:var(--color-label);font-size:var(--text-md)}.portal-user-email,.portal-user-name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.portal-user-email{font-size:var(--text-sm);color:var(--color-secondary-label)}.portal-top-banner{padding:12px 20px}@media (min-width:769px){.portal-top-banner{padding-left:calc(var(--sidebar-width) + 20px)}}.portal-main{flex:1 1;min-width:0;margin-left:var(--sidebar-width);min-height:100vh}.portal-header{background:rgba(255,255,255,.42);backdrop-filter:blur(28px) saturate(200%) brightness(1.08);-webkit-backdrop-filter:blur(28px) saturate(200%) brightness(1.08);border:.5px solid rgba(255,255,255,.7);box-shadow:inset 0 1px 0 rgba(255,255,255,.5),0 4px 16px rgba(0,0,0,.06);padding:var(--space-4) var(--space-6);position:-webkit-sticky;position:sticky;top:var(--space-3);z-index:30;margin:var(--space-3) var(--space-4) 0;border-radius:var(--radius-xl)}.portal-header-inner{display:flex;align-items:center;justify-content:space-between;max-width:var(--content-max-width);margin:0 auto}.portal-page-title{font-size:var(--text-2xl);font-weight:var(--font-weight-semibold);letter-spacing:var(--tracking-tight);color:var(--color-label);margin:0}.portal-header-phone{display:inline-flex;align-items:baseline;gap:var(--space-2);margin-left:var(--space-4);flex-shrink:0;white-space:nowrap;text-decoration:none;font-size:var(--text-sm);color:var(--color-secondary-label)}.portal-header-phone-number{font-weight:600;color:var(--color-label)}.portal-header-phone:hover .portal-header-phone-number{text-decoration:underline}.portal-content{padding:var(--space-7) var(--space-6);max-width:var(--content-max-width);margin:0 auto;animation:portalFadeIn var(--duration-normal) var(--ease-out)}@keyframes portalFadeIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.portal-card{background-color:var(--color-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:var(--space-6);margin-bottom:var(--space-4);transition:box-shadow var(--duration-normal) var(--ease-out);overflow:hidden;max-width:100%}.portal-card:hover{box-shadow:var(--shadow-md)}.portal-notice-link{transition:box-shadow var(--duration-normal) var(--ease-out)}.portal-notice-link:hover{box-shadow:var(--shadow-md)}.portal-notice-link:focus-visible{outline:none;box-shadow:0 0 0 2px var(--color-surface),0 0 0 4px var(--color-primary)}.portal-card-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);margin-bottom:var(--space-4)}.portal-card-header>:first-child{min-width:0}.portal-card-title{font-size:var(--text-xl);font-weight:var(--font-weight-medium);letter-spacing:var(--tracking-tight);color:var(--color-label);margin:0}.portal-card-subtitle{font-size:var(--text-md);color:var(--color-tertiary-label);margin-top:var(--space-1)}.portal-badge{display:inline-flex;align-items:center;padding:var(--space-1) var(--space-3);border-radius:var(--radius-full);font-size:var(--text-sm);flex-shrink:0;white-space:nowrap}.portal-badge-active{background-color:var(--color-success-fill);color:var(--color-success-label)}.portal-badge-paused{background-color:var(--color-warning-fill);color:var(--color-warning-label)}.portal-badge-canceled{background-color:var(--color-danger-fill);color:var(--color-danger-label)}.portal-badge-shipped{background-color:var(--color-info-fill);color:var(--color-info-label)}.portal-badge-delivered{background-color:var(--color-success-fill);color:var(--color-success-label)}.portal-badge-confirmed{background-color:#e0e7ff;color:#3730a3}.portal-badge-scheduled{background-color:var(--color-fill);color:var(--color-secondary-label)}.portal-order-status{display:inline-flex;align-items:center;gap:var(--space-2);flex-wrap:wrap;min-width:min-content;max-width:100%}.portal-order-status-note{font-size:var(--text-sm);color:var(--color-secondary-label);min-width:0}.portal-btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);padding:10px var(--space-5);border-radius:var(--radius-sm);font-size:var(--text-md);min-height:44px;cursor:pointer;transition:all var(--duration-fast) var(--ease-out);border:none;text-decoration:none}.portal-btn:active{transform:scale(.97);transition-duration:50ms}.portal-btn-primary{background-color:var(--color-primary);color:var(--color-surface);border-radius:var(--radius-full)}.portal-btn-primary:hover{background-color:var(--color-primary-hover)}.portal-btn-secondary{background-color:var(--color-fill);color:var(--color-label);box-shadow:var(--shadow-xs)}.portal-btn-secondary:hover{background-color:#E5E5EA}.portal-btn-info{background-color:var(--color-info-label);color:var(--color-surface);border-radius:var(--radius-full);font-weight:600}.portal-btn-info:hover{background-color:#1a3691}.portal-btn-outline{background-color:transparent;color:var(--color-primary);border:1px solid var(--color-primary);border-radius:var(--radius-full)}.portal-btn-outline:hover{background-color:var(--color-primary-light)}.portal-text-link{background:none;border:0;padding:0;font:inherit;cursor:pointer;font-size:var(--text-sm);color:var(--color-primary);text-decoration:none;display:inline-flex;align-items:center;gap:4px;white-space:nowrap}.portal-text-link:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px;border-radius:var(--radius-sm)}.portal-text-link-tap{min-height:44px}.portal-btn-sm{padding:6px var(--space-3);font-size:var(--text-base);min-height:36px}@media (hover:hover) and (pointer:fine){.scalp-take-photo{display:none}}.portal-btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.portal-input-group{margin-bottom:var(--space-5)}.portal-label{display:block;font-size:var(--text-md);font-weight:var(--font-weight-medium);color:var(--color-label);margin-bottom:var(--space-2)}.portal-input{width:100%;padding:var(--space-3) var(--space-4);border:1px solid rgba(0,0,0,.1);border-radius:var(--radius-sm);font-size:var(--text-lg);min-height:44px;color:var(--color-label);transition:border-color var(--duration-fast) var(--ease-out),box-shadow var(--duration-fast) var(--ease-out)}.portal-input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 4px var(--color-primary-surface)}.portal-input-modal::placeholder,.portal-input::placeholder{color:var(--color-tertiary-label)}.portal-input-error{border-color:var(--color-danger-label)}.portal-error-message{color:var(--color-danger-label);font-size:var(--text-base);margin-top:6px}.portal-login-container{min-height:100vh;width:100%;display:flex;align-items:center;justify-content:center;background-color:var(--color-background);padding:var(--space-6)}.portal-login-card{background-color:var(--color-surface);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);padding:var(--space-9) var(--space-8);width:100%;max-width:440px;margin:0 auto}.portal-login-logo{display:flex;justify-content:center;margin-bottom:var(--space-7)}.portal-login-logo img{height:48px;width:auto}.portal-login-title{font-size:var(--text-3xl);font-weight:var(--font-weight-semibold);letter-spacing:var(--tracking-tight);color:var(--color-label);text-align:center;margin-bottom:var(--space-2)}.portal-login-subtitle{font-size:var(--text-lg);color:var(--color-secondary-label);text-align:center;margin-bottom:var(--space-7)}.portal-login-success{text-align:center;padding:var(--space-6)}.portal-login-success-icon{width:64px;height:64px;border-radius:50%;background-color:var(--color-success-fill);color:var(--color-success-label);display:flex;align-items:center;justify-content:center;margin:0 auto var(--space-6)}.portal-login-success-icon svg{width:32px;height:32px}.portal-summary-grid{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:var(--space-3);gap:var(--space-3);margin-bottom:var(--space-5)}@media (max-width:768px){.portal-summary-grid{grid-template-columns:1fr 1fr!important}}.portal-summary-box{display:flex;flex-direction:column;min-height:88px;background-color:var(--color-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:var(--space-4) var(--space-5)}.portal-summary-box-label{font-size:var(--text-xs);color:var(--color-secondary-label);margin:0 0 6px;text-transform:uppercase;letter-spacing:var(--tracking-wide)}.portal-summary-box-value{font-size:var(--text-lg);color:var(--color-label);margin:0}.portal-summary-box-sub{font-size:var(--text-sm);color:var(--color-secondary-label);margin:var(--space-1) 0 0 0}.portal-summary-card{background-color:var(--color-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:var(--space-5);transition:box-shadow var(--duration-normal) var(--ease-out)}.portal-summary-card:hover{box-shadow:var(--shadow-md)}.portal-summary-card-header{display:flex;align-items:center;gap:var(--space-3);margin-bottom:var(--space-3)}.portal-summary-card-icon{width:var(--space-8);height:var(--space-8);border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center}.portal-summary-card-icon.subscription{background-color:var(--color-primary-light);color:var(--color-primary)}.portal-summary-card-icon.order{background-color:var(--color-info-fill);color:#1d4ed8}.portal-summary-card-icon.appointment{background-color:#f3e8ff;color:#7c3aed}.portal-summary-card-icon.messages{background-color:var(--color-success-fill);color:#173f5c}.portal-summary-card-title{font-size:var(--text-xs);color:var(--color-secondary-label);text-transform:uppercase;letter-spacing:var(--tracking-wide);margin:0}.portal-summary-card-value{font-size:var(--text-2xl);font-weight:var(--font-weight-semibold);color:var(--color-label);margin:0}.portal-summary-card-detail{font-size:var(--text-base);color:var(--color-secondary-label);margin-top:var(--space-1)}.portal-orders-list{list-style:none;padding:0;margin:0}.portal-order-item{display:flex;align-items:center;justify-content:space-between;padding:var(--space-4);border-bottom:1px solid var(--color-separator)}.portal-order-item:last-child{border-bottom:none}.portal-order-info{flex:1 1}.portal-order-number{color:var(--color-label);font-size:var(--text-lg)}.portal-order-date{font-size:var(--text-base);color:var(--color-secondary-label);margin-top:2px}.portal-order-actions{display:flex;align-items:center;gap:var(--space-3)}.portal-empty-state{text-align:center;padding:var(--space-9) var(--space-6)}.portal-empty-state-icon{width:64px;height:64px;border-radius:50%;background-color:var(--color-fill);color:var(--color-tertiary-label);display:flex;align-items:center;justify-content:center;margin:0 auto var(--space-4)}.portal-empty-state-title{font-size:var(--text-xl);font-weight:var(--font-weight-medium);color:var(--color-label);margin-bottom:var(--space-2)}.portal-empty-state-description{font-size:var(--text-md);color:var(--color-secondary-label)}.portal-tracking-timeline{padding:var(--space-4) 0}.portal-tracking-step{display:flex;gap:var(--space-3);position:relative;padding-bottom:var(--space-4)}.portal-tracking-step:last-child{padding-bottom:0}.portal-tracking-step:before{content:"";position:absolute;left:11px;top:26px;width:2px;height:calc(100% - 22px);background:repeating-linear-gradient(180deg,#173f5c 0,#173f5c 4px,transparent 0,transparent 8px)}.portal-tracking-step:last-child:before{display:none}.portal-tracking-step.completed:before{background-color:#173f5c}.portal-tracking-dot{width:24px;height:24px;border-radius:50%;background-color:#e8e8e8;display:flex;align-items:center;justify-content:center;flex-shrink:0;z-index:1}.portal-tracking-step.completed .portal-tracking-dot{background-color:#173f5c;color:var(--color-surface)}.portal-tracking-step.current .portal-tracking-dot{background-color:#fff;border:2px dashed #173f5c;color:#173f5c}.portal-tracking-content{flex:1 1}.portal-tracking-title{color:var(--color-label);font-size:var(--text-lg)}.portal-tracking-date{font-size:var(--text-base);color:var(--color-secondary-label);margin-top:2px}.portal-loading{display:flex;align-items:center;justify-content:center;padding:var(--space-9)}.portal-loading-spinner{width:32px;height:32px;border:2px solid var(--color-fill);border-top-color:var(--color-primary);border-radius:50%;animation:portal-spin .8s linear infinite}@keyframes portal-spin{to{transform:rotate(1turn)}}@keyframes pulse-dot{0%,to{opacity:1;transform:scale(1)}50%{opacity:.4;transform:scale(.85)}}@media (max-width:768px){.portal-sidebar{display:none}.portal-main{margin-left:0}.portal-header{padding:var(--space-3) var(--space-4);margin:var(--space-2) var(--space-2) 0;top:var(--space-2)}.portal-card,.portal-content{padding:var(--space-4)}.portal-login-card{padding:var(--space-7) var(--space-6)}.portal-summary-grid{grid-template-columns:1fr}}.portal-suggestion-box{background-color:var(--color-warning-fill);border:1px solid #fcd34d;border-radius:var(--radius-sm);padding:var(--space-3) var(--space-4);margin-top:var(--space-3)}.portal-suggestion-text{font-size:var(--text-md);color:var(--color-warning-label);margin-bottom:var(--space-2)}.portal-suggestion-btn{background:none;border:none;color:var(--color-primary);cursor:pointer;padding:0;text-decoration:underline}.portal-suggestion-btn:hover{color:var(--color-primary-hover)}.portal-book-appointment-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4)}.portal-book-btn{display:inline-flex;align-items:center;gap:var(--space-2);white-space:nowrap;flex-shrink:0}@media (max-width:540px){.portal-book-appointment-header{flex-direction:column;align-items:stretch}.portal-book-btn{width:100%;justify-content:center;margin-top:var(--space-3)}}.portal-product-tabs{width:100%;padding:var(--space-3) var(--space-6) 0;background:transparent;border-bottom:none}.portal-product-tabs-inner{display:inline-flex;align-items:center;gap:2px;padding:3px;background:rgba(0,0,0,.04);border-radius:10px}.portal-product-tab{-moz-appearance:none;appearance:none;-webkit-appearance:none;border:none;background:transparent;color:rgba(0,0,0,.55);font-family:inherit;font-size:13px;font-weight:500;letter-spacing:.02em;padding:7px 18px;border-radius:8px;cursor:pointer;transition:color var(--duration-fast) var(--ease-out),background-color var(--duration-fast) var(--ease-out);min-width:60px;text-align:center}.portal-product-tab:hover:not(.active){color:rgba(0,0,0,.85)}.portal-product-tab.active{background:#ffffff;color:#0a0a0a;box-shadow:0 1px 2px rgba(0,0,0,.08),0 0 0 .5px rgba(0,0,0,.04)}.portal-product-tab:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}@media (max-width:768px){.portal-product-tabs{padding:var(--space-3) var(--space-4) 0}}.comm-page{max-width:720px;margin:0 auto}.comm-intro{font-size:var(--text-base);color:var(--color-secondary-label);margin:0 0 var(--space-5);line-height:1.5}.comm-link{color:var(--color-primary);text-decoration:none;font-weight:600}.comm-link:hover{text-decoration:underline}.comm-group{margin-bottom:var(--space-5)}.comm-day{font-size:var(--text-xs);font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--color-tertiary-label);margin:0 0 var(--space-2) var(--space-1)}.comm-card{background:var(--color-surface);border:1px solid var(--color-separator);border-radius:var(--radius-md);box-shadow:var(--shadow-xs);padding:var(--space-4);margin-bottom:var(--space-3)}.comm-card-top{display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap}.comm-label{font-size:var(--text-md);font-weight:600;color:var(--color-label)}.comm-time{margin-left:auto;font-size:var(--text-xs);color:var(--color-tertiary-label);white-space:nowrap}.comm-channel{display:inline-flex;align-items:center;gap:4px;font-size:var(--text-xs);font-weight:600;padding:2px 8px;border-radius:var(--radius-full)}.comm-channel-email{background:var(--color-info-fill);color:var(--color-info-label)}.comm-channel-sms{background:var(--color-success-fill);color:var(--color-success-label)}.comm-subject{font-weight:600;color:var(--color-label);margin-top:var(--space-3)}.comm-body,.comm-subject{font-size:var(--text-base)}.comm-body{color:var(--color-secondary-label);line-height:1.55;margin-top:var(--space-2);white-space:pre-wrap;word-break:break-word}.comm-body-clamp{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.comm-toggle{margin-top:var(--space-2);background:none;border:none;padding:0;color:var(--color-primary);font-size:var(--text-sm);font-weight:600;cursor:pointer}.comm-more{text-align:center;margin-top:var(--space-4)}.comm-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:var(--space-9) var(--space-4);gap:var(--space-2)}.comm-empty-icon{color:var(--color-tertiary-label);margin-bottom:var(--space-2)}.comm-empty-text{font-size:var(--text-md);font-weight:600;color:var(--color-label);margin:0}.comm-empty-sub{font-size:var(--text-base);color:var(--color-secondary-label);margin:0}.comm-spinner{width:28px;height:28px;border:3px solid var(--color-fill);border-top-color:var(--color-primary);border-radius:50%;animation:comm-spin .8s linear infinite}@keyframes comm-spin{to{transform:rotate(1turn)}}.refill-upcoming-doses{width:100%;margin:0 0 var(--space-4);padding:1.25rem;text-align:left;background-color:var(--color-surface);border:1px solid var(--color-separator);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.refill-upcoming-doses-title{font-size:.95rem;font-weight:500;color:var(--color-label);margin:0 0 .35rem}.refill-upcoming-doses-subtitle{font-size:.8rem;color:var(--color-secondary-label);line-height:1.5;margin:0 0 1rem}.refill-upcoming-doses-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.5rem}.refill-upcoming-dose-row{display:flex;align-items:center;gap:.75rem;padding:.65rem .75rem;background-color:var(--color-fill,#fff);border:1px solid var(--color-separator);border-radius:10px}.refill-upcoming-dose-step{flex-shrink:0;width:24px;height:24px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.75rem;font-weight:600;color:var(--color-primary);background-color:var(--color-primary-light)}.refill-upcoming-dose-info{display:flex;flex-direction:column;min-width:0}.refill-upcoming-dose-amount{font-size:.9rem;color:var(--color-label)}.refill-upcoming-dose-date{font-size:.78rem;color:var(--color-secondary-label);margin-top:1px}.portal-nav-sub{margin:0 0 var(--space-2) 26px;padding-left:var(--space-2);border-left:1.5px solid rgba(0,0,0,.08)}.portal-nav-sub .portal-nav-item{padding:var(--space-2) var(--space-3);margin-bottom:2px;font-size:var(--text-base)}.portal-nav-sub .portal-nav-item svg{width:16px;height:16px;color:var(--color-tertiary-label)}.portal-nav-sub .portal-nav-item.active{background-color:var(--color-fill);color:var(--color-label)}.portal-nav-sub .portal-nav-item.active svg{color:var(--color-primary)}.portal-section-lede{margin:0 0 var(--space-4);color:var(--color-secondary-label)}.portal-section-promo{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-4);margin-bottom:var(--space-4);border-radius:var(--radius-lg);background:#ecfdf5;border:1px solid #a7f3d0;color:#047857;text-decoration:none;transition:box-shadow var(--duration-fast) var(--ease-out)}.portal-section-promo:hover{box-shadow:var(--shadow-md)}.portal-section-promo-icon{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:40px;height:40px;border-radius:50%;background:#d1fae5}.portal-section-promo-icon svg{width:20px;height:20px}.portal-section-promo-body{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1 1}.portal-section-promo-title{font-size:var(--text-md);font-weight:500}.portal-section-promo-subtitle{font-size:var(--text-sm);opacity:.85}.portal-section-promo-chevron{flex-shrink:0;font-size:var(--text-xl)}.portal-section-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:var(--space-4);gap:var(--space-4)}.portal-section-card{position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:var(--space-2);min-height:150px;padding:var(--space-5);border-radius:var(--radius-lg);background:var(--color-surface);box-shadow:var(--shadow-sm);color:var(--color-label);text-decoration:none;transition:box-shadow var(--duration-fast) var(--ease-out)}.portal-section-card:hover{box-shadow:var(--shadow-md)}.portal-section-card>.portal-nav-badge{position:absolute;top:var(--space-4);right:var(--space-4)}.portal-section-card .portal-home-card-icon{width:44px;height:44px}.portal-section-card .portal-home-card-icon svg{width:20px;height:20px}.portal-section-card-body{display:flex;flex-direction:column;gap:2px;min-width:0}.portal-section-card-title{font-size:var(--text-lg)}.portal-section-card-desc{font-size:var(--text-sm);color:var(--color-secondary-label)}.portal-section-card-cta{display:inline-flex;gap:var(--space-1);margin-top:auto;font-size:var(--text-base);color:var(--color-primary)}.portal-home-card-icon{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:30px;height:30px;border-radius:50%;background-color:#e8f1f7;border:2px solid #5a8aaa;color:#2d5f7c}.portal-home-card-icon svg{width:16px;height:16px}@media (max-width:768px){.portal-section-grid{display:flex;flex-direction:column;gap:0;border-radius:var(--radius-lg);background:var(--color-surface);box-shadow:var(--shadow-sm);overflow:hidden}.portal-section-card{flex-direction:row;align-items:center;gap:var(--space-3);min-height:0;padding:var(--space-4);border-radius:0;border-bottom:1px solid var(--color-separator);box-shadow:none}.portal-section-card:last-child{border-bottom:0}.portal-section-card .portal-home-card-icon{width:40px;height:40px}.portal-section-card-body{flex:1 1}.portal-section-card-title{font-size:var(--text-md)}.portal-section-card>.portal-nav-badge{position:static;order:1}.portal-section-card-cta{order:2;margin-top:0;font-size:var(--text-xl);color:var(--color-tertiary-label)}.portal-section-card-cta>span:first-child{display:none}}.portal-back,.portal-header .portal-product-tabs,.portal-home-grid{display:none}@media (max-width:768px){.portal-page-title>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.portal-page-title{display:flex;align-items:center;gap:var(--space-3);min-width:0}.portal-back{position:relative;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:30px;height:30px;border-radius:var(--radius-full);background-color:var(--color-fill);color:var(--color-label)}.portal-back:before,.portal-banner-phone:before,.portal-header-phone:before,.portal-home-footer button:before{content:"";position:absolute;inset:50% auto auto 50%;width:max(100%,44px);height:max(100%,44px);transform:translate(-50%,-50%)}.portal-banner-phone,.portal-header-phone,.portal-home-footer button{position:relative}.portal-back svg{width:18px;height:18px}.portal-main>.portal-product-tabs{padding:var(--space-3) var(--space-4) 0;overflow-x:auto;scrollbar-width:none}.portal-main>.portal-product-tabs::-webkit-scrollbar{display:none}.portal-main>.portal-product-tabs .portal-product-tab{white-space:nowrap}.portal-header-phone-label{display:none}.portal-header-phone{margin-left:var(--space-3)}.portal-home{display:flex;flex-direction:column}.portal-home>.portal-home-grid~*{order:4}.portal-home>.portal-home-progress,.portal-home>.portal-home-treatment{order:1}.portal-home>.portal-home-grid{order:2}.portal-home>.portal-home-subscription{order:3}.portal-home-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:10px;gap:10px;margin-bottom:var(--space-4)}.portal-home-card{position:relative;overflow:hidden;display:flex;align-items:center;gap:var(--space-3);padding:14px;border-radius:var(--radius-lg);background:rgba(255,255,255,.72);backdrop-filter:blur(18px) saturate(1.4);-webkit-backdrop-filter:blur(18px) saturate(1.4);border:1px solid rgba(255,255,255,.6);box-shadow:var(--shadow-sm);color:var(--color-label);font-size:var(--text-sm);text-decoration:none;transition:transform .18s var(--ease-out),box-shadow .18s var(--ease-out)}.portal-home-card:before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(255,255,255,.55),transparent 55%);pointer-events:none}.portal-home-card:active{transform:scale(.97)}@media (hover:hover){.portal-home-card:hover{box-shadow:var(--shadow-md)}}.portal-home-card .portal-nav-badge{margin-left:auto;background-color:var(--color-warning-fill);color:var(--color-warning-label)}.portal-home-grid>.portal-home-card:nth-last-child(2):nth-child(odd){grid-column:1/-1}.portal-home-card-skeleton{background:var(--color-fill);backdrop-filter:none;-webkit-backdrop-filter:none;border-color:transparent;box-shadow:none}.portal-home-card-skeleton:before{display:none}.portal-home-card-skeleton .portal-home-card-icon{visibility:hidden}.portal-home-card-todo.pending .portal-home-card-icon{background-color:var(--color-primary-light);border-color:var(--color-primary);color:var(--color-primary);animation:portalBreathe 2.4s ease-in-out infinite}.portal-home-footer{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:var(--space-2) var(--space-1) 0;font-size:var(--text-sm);color:var(--color-secondary-label)}.portal-home-footer-user{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.portal-home-footer button{flex-shrink:0;border:none;background:none;padding:var(--space-2);font:inherit;color:var(--color-primary);cursor:pointer}}.portal-home-banner-skeleton{height:88px;border-radius:var(--radius-lg);background:var(--color-fill);margin-bottom:var(--space-4)}@keyframes portalBreathe{0%,to{transform:scale(1);box-shadow:0 0 0 0 var(--color-primary-light)}50%{transform:scale(1.08);box-shadow:0 0 0 8px transparent}}@keyframes weightChartReveal{0%{-webkit-clip-path:inset(0 100% 0 0);clip-path:inset(0 100% 0 0)}to{-webkit-clip-path:inset(0 0 0 0);clip-path:inset(0 0 0 0)}}.weight-chart-reveal{animation:weightChartReveal .55s cubic-bezier(.33,1,.68,1) both}.portal-journey-circle-reviewing{position:relative}.portal-journey-circle-reviewing:after{content:"";position:absolute;inset:-2.5px;border-radius:50%;border:2.5px dashed #5a8aaa;animation:portalReviewSpin 1.4s cubic-bezier(.2,.7,.2,1) var(--d,0s) both}.portal-journey-in-pop{animation:portalJourneyPop .3s var(--ease-out) var(--d,0s) both}.portal-journey-in-fade{animation:portalFadeIn .4s var(--ease-out) var(--d,0s) both}.portal-journey-in-draw{transform-origin:left;animation:portalJourneyDraw .35s var(--ease-out) var(--d,0s) both}@keyframes portalJourneyPop{0%{opacity:0;transform:scale(.6)}to{opacity:1;transform:scale(1)}}@keyframes portalJourneyDraw{0%{transform:scaleX(0)}to{transform:scaleX(1)}}@keyframes portalReviewSpin{to{transform:rotate(1turn)}}@media (prefers-reduced-motion:reduce){.portal-home-card,.portal-home-card-todo.pending .portal-home-card-icon{animation:none;transition:none}.portal-journey-circle-reviewing:after,.portal-journey-in-draw,.portal-journey-in-fade,.portal-journey-in-pop,.weight-chart-reveal{animation:none}}.portal-header-inner{padding:0 var(--space-6)}.portal-header-lead{display:flex;align-items:center;gap:var(--space-3);min-width:0}.portal-drawer-close,.portal-menu-btn{display:none}.portal-home-title{margin:0 0 var(--space-2);font-family:var(--font-display);font-weight:var(--font-weight-semibold);font-size:clamp(2rem,5vw,2.75rem);line-height:1.04;letter-spacing:-.035em;color:var(--color-label);text-wrap:balance}@media (min-width:769px){.portal-main>.portal-product-tabs{max-width:var(--content-max-width);margin:0 auto}.portal-main--bare-home .portal-header{display:none}.portal-main--bare-home .portal-content,.portal-main--bare-home>.portal-product-tabs{padding-top:var(--space-8)}.portal-main--bare-home>.portal-product-tabs~.portal-content{padding-top:var(--space-7)}}@media (max-width:768px){.portal-header{padding-left:var(--space-2);padding-right:var(--space-2)}.portal-header-inner{padding:0}.portal-menu-btn{position:relative;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:40px;height:40px;border:0;border-radius:var(--radius-full);background-color:var(--color-fill);color:var(--color-label);cursor:pointer}.portal-menu-btn svg{width:22px;height:22px}.portal-sidebar.open{display:flex;width:min(84vw,320px);z-index:60;box-shadow:0 0 0 1px var(--color-separator),24px 0 60px rgba(20,20,20,.18);animation:portalDrawerIn .26s var(--ease-out) both}.portal-drawer-backdrop{position:fixed;inset:0;z-index:55;background:rgba(20,20,20,.38);animation:portalFadeIn .2s var(--ease-out) both}.portal-sidebar.open .portal-sidebar-header{display:flex;align-items:center;justify-content:space-between;flex-direction:row-reverse}.portal-sidebar.open .portal-drawer-close{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border:0;border-radius:var(--radius-full);background-color:var(--color-fill);color:var(--color-label);cursor:pointer}.portal-drawer-close svg{width:20px;height:20px}.portal-home-title{margin-top:var(--space-2)}}@keyframes portalDrawerIn{0%{transform:translateX(-100%)}to{transform:translateX(0)}}html[data-brand=gala]{--paper:#F2F2EE;--sheet:#FAFAF7;--stone:#E9E9E3;--ink:#141414;--dot:#395AF6;--dot-soft:#EEF1FF;--display:"Bricolage Grotesque","DM Sans",system-ui,sans-serif;--font-display:var(--display);--color-label:var(--ink);--color-secondary-label:#565951;--color-tertiary-label:#8A8D85;--color-separator:rgba(20,20,20,0.08);--color-background:var(--paper);--color-surface:#FFFFFF;--color-surface-secondary:var(--sheet);--color-fill:var(--stone);--color-primary:var(--dot);--color-primary-hover:#2A47D6;--color-primary-light:var(--dot-soft);--color-primary-surface:rgba(57,90,246,0.06);--color-primary-border:#C9D4FF;--color-primary-icon-bg:#DDE4FF;--color-primary-ink:#1F3399;--color-primary-muted:#9DB0FB;--shadow-xs:none;--shadow-sm:0 1px 2px rgba(20,20,20,0.04);--radius-lg:24px;--radius-xl:28px}html[data-brand=gala],html[data-brand=gala] body{background-color:var(--paper)}:where(html[data-brand=gala]) ::selection{background:rgba(57,90,246,.18);color:var(--ink)}:where(html[data-brand=gala]) :focus-visible{outline:3px solid var(--dot);outline-offset:3px}:where(html[data-brand=gala]) .gala-logo{display:block;width:auto;color:var(--ink)}:where(html[data-brand=gala]) .portal-sidebar{background-color:var(--paper);box-shadow:none;border-right:1px solid var(--color-separator)}:where(html[data-brand=gala]) .portal-nav-item.active{background-color:var(--color-surface);color:var(--ink)}:where(html[data-brand=gala]) .portal-nav-item.active svg{color:var(--dot)}:where(html[data-brand=gala]) .portal-header{background:rgba(250,250,247,.85);border:none;box-shadow:inset 0 1px 0 rgba(255,255,255,.8),0 6px 24px rgba(20,20,20,.06);backdrop-filter:blur(14px) saturate(1.7);-webkit-backdrop-filter:blur(14px) saturate(1.7)}:where(html[data-brand=gala]) .portal-login-title,:where(html[data-brand=gala]) .portal-page-title,:where(html[data-brand=gala]) .portal-page-title>span{font-family:var(--display);font-weight:800;letter-spacing:-.035em;line-height:1.05}:where(html[data-brand=gala]) .portal-card-title{font-weight:600}:where(html[data-brand=gala]) .portal-btn{border-radius:var(--radius-full);font-weight:600}:where(html[data-brand=gala]) .portal-btn-secondary{background-color:var(--stone);box-shadow:none}:where(html[data-brand=gala]) .portal-btn-secondary:hover{background-color:#DEDED7}:where(html[data-brand=gala]) .portal-btn-outline{border-color:rgba(20,20,20,.2);color:var(--ink)}:where(html[data-brand=gala]) .portal-btn-outline:hover{background-color:var(--stone)}:where(html[data-brand=gala]) .portal-login-card{box-shadow:0 6px 24px rgba(20,20,20,.06)}html[data-brand=gala] .redo-continue-btn,html[data-brand=gala] .redo-exit-btn-primary,html[data-brand=gala] .refill-continue-btn{background-color:var(--dot);font-weight:600}html[data-brand=gala] .refill-continue-btn:focus-visible{outline-color:var(--dot)}html[data-brand=gala] .redo-option-card.selected,html[data-brand=gala] .refill-option-card.refill-checkbox-card.selected,html[data-brand=gala] .refill-option-card.selected{background-color:var(--dot-soft);border-color:var(--dot);box-shadow:0 0 0 1px var(--dot)}html[data-brand=gala] .redo-option-card input[type=checkbox]:checked,html[data-brand=gala] .redo-option-card.selected .hrt-intake-check,html[data-brand=gala] .refill-option-card.selected .refill-checkbox-visual{background-color:var(--dot);border-color:var(--dot)}html[data-brand=gala] .redo-dose-btn.selected{background:var(--dot);border-color:var(--dot)}:where(html[data-brand=gala]) .portal-home-title{font-family:var(--display);font-weight:800;letter-spacing:-.04em}[data-product=fertility]{--paper:#F2F2EE;--ink:#141414;--dot:#395AF6;--display:"Bricolage Grotesque","DM Sans",system-ui,sans-serif;--color-label:var(--ink);--color-secondary-label:#565951;--color-tertiary-label:#8A8D85;--color-separator:rgba(20,20,20,0.08);--color-background:var(--paper);--color-surface:#FAFAF7;--color-surface-secondary:#F6F6F2;--color-fill:#E8E8E2;--color-primary:var(--ink);--color-primary-hover:#000;--color-primary-light:#E6E6E0;--color-primary-surface:rgba(20,20,20,0.05);--color-success-label:var(--ink);--color-success-fill:#E6E6E0;--shadow-xs:none;--shadow-sm:none;--shadow-md:none;--text-base:0.9375rem;--text-md:1rem;--text-lg:1.125rem;--text-xl:1.375rem;--radius-lg:24px}body:has([data-product=fertility]),html:has([data-product=fertility]){background-color:#F2F2EE}[data-product=fertility] ::selection{background:rgba(57,90,246,.18);color:var(--ink)}[data-product=fertility] .portal-sidebar{background-color:var(--paper);box-shadow:none;border-right:1px solid var(--color-separator)}[data-product=fertility] .portal-wordmark{display:block;height:30px;width:auto;color:var(--ink)}[data-product=fertility] .portal-header-wordmark{display:none}[data-product=fertility] .portal-nav-item.active{background-color:var(--color-surface);color:var(--ink)}[data-product=fertility] .portal-user-info{background-color:transparent;padding-left:0}[data-product=fertility] .portal-header{background:rgba(242,242,238,.88);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:none;box-shadow:none;border-radius:0;margin:0;top:0;padding:var(--space-6) 0 var(--space-4)}[data-product=fertility] .portal-header-inner{padding:0 var(--space-6)}[data-product=fertility] .portal-page-title,[data-product=fertility] .portal-page-title>span{font-family:var(--display);font-weight:800;font-size:2.25rem;line-height:1.05;letter-spacing:-.035em}[data-product=fertility] .portal-card{border-radius:var(--radius-lg);padding:var(--space-7)}[data-product=fertility] .portal-card-title{font-weight:600}[data-product=fertility] .portal-btn{border-radius:var(--radius-full);font-weight:600}[data-product=fertility] .portal-btn-outline{border-color:rgba(20,20,20,.2);color:var(--ink)}[data-product=fertility] .fx-home{display:flex;flex-direction:column;gap:var(--space-5)}[data-product=fertility] .fx-card{background:var(--color-surface);border-radius:28px;padding:var(--space-8)}[data-product=fertility] .fx-next{background:#FFFFFF;padding:var(--space-9) var(--space-8)}[data-product=fertility] .fx-eyebrow{margin:0 0 var(--space-3);display:inline-flex;align-items:center;gap:var(--space-2);font-size:var(--text-sm);font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--color-secondary-label)}[data-product=fertility] .fx-eyebrow:before{content:"";width:8px;height:8px;border-radius:50%;background:var(--dot)}[data-product=fertility] .fx-title{margin:0;max-width:22ch;font-family:var(--display);font-weight:800;font-size:clamp(2rem,4.2vw,2.75rem);line-height:1.04;letter-spacing:-.035em;text-wrap:balance}[data-product=fertility] .fx-line{margin:var(--space-3) 0 0;max-width:46ch;font-size:var(--text-lg);line-height:1.45;color:var(--color-secondary-label)}[data-product=fertility] .fx-btn{display:inline-flex;align-items:center;gap:var(--space-3);margin-top:var(--space-7);min-height:56px;padding:0 var(--space-7);border-radius:var(--radius-full);background:var(--ink);color:var(--paper);font-size:var(--text-lg);font-weight:600;text-decoration:none;transition:transform var(--duration-fast) var(--ease-out)}[data-product=fertility] .fx-btn:after{content:"";width:8px;height:8px;border-radius:50%;background:var(--dot)}[data-product=fertility] .fx-btn:active{transform:scale(.98)}[data-product=fertility] .fx-btn:focus-visible,[data-product=fertility] .fx-link:focus-visible{outline:2px solid var(--dot);outline-offset:3px}[data-product=fertility] .fx-skeleton{height:136px;border-radius:16px;background:var(--color-fill);opacity:.6}[data-product=fertility] .fx-couple{display:grid;grid-template-columns:1fr 1fr;grid-gap:var(--space-5);gap:var(--space-5)}[data-product=fertility] .fx-person-name{margin:0 0 var(--space-4);font-family:var(--display);font-weight:800;font-size:1.75rem;letter-spacing:-.03em}[data-product=fertility] .fx-rows{list-style:none;margin:0;padding:0}[data-product=fertility] .fx-row{display:flex;justify-content:space-between;align-items:baseline;gap:var(--space-4);padding:var(--space-4) 0;border-top:1px solid var(--color-separator);font-size:var(--text-md)}[data-product=fertility] .fx-status{color:var(--color-secondary-label);text-align:right}[data-product=fertility] .fx-status.is-done{color:var(--ink);font-weight:600}[data-product=fertility] .fx-status.is-done:before{content:"";display:inline-block;width:7px;height:7px;margin-right:var(--space-2);border-radius:50%;background:var(--dot);vertical-align:2px}[data-product=fertility] .fx-link{display:flex;justify-content:space-between;align-items:center;padding:var(--space-6) var(--space-8);font-size:var(--text-lg);font-weight:600;color:var(--ink);text-decoration:none}[data-product=fertility] .fx-program{padding:var(--space-4) var(--space-2) 0}[data-product=fertility] .fx-section-title{margin:0 0 var(--space-5);font-family:var(--display);font-weight:800;font-size:1.5rem;letter-spacing:-.03em}[data-product=fertility] .fx-program ol{list-style:none;margin:0;padding:0}[data-product=fertility] .fx-program li{position:relative;display:flex;gap:var(--space-4);padding-bottom:var(--space-6);color:var(--color-tertiary-label)}[data-product=fertility] .fx-program li:not(:last-child):before{content:"";position:absolute;left:6px;top:18px;bottom:2px;width:1px;background:var(--color-separator)}[data-product=fertility] .fx-dot{flex:none;width:13px;height:13px;margin-top:4px;border-radius:50%;border:1.5px solid rgba(20,20,20,.25);background:var(--paper)}[data-product=fertility] .fx-program li.is-done,[data-product=fertility] .fx-program li.is-now{color:var(--ink)}[data-product=fertility] .fx-program li.is-done .fx-dot{border-color:var(--ink);background:var(--ink)}[data-product=fertility] .fx-program li.is-now .fx-dot{border-color:var(--dot);background:var(--dot);box-shadow:0 0 0 5px rgba(57,90,246,.15)}[data-product=fertility] .fx-stage-name{margin:0;display:flex;align-items:center;gap:var(--space-2);font-size:var(--text-lg);font-weight:600}[data-product=fertility] .fx-now{padding:2px 8px;border-radius:var(--radius-full);background:var(--dot);color:#fff;font-size:var(--text-xs);font-weight:600}[data-product=fertility] .fx-stage-text{margin:var(--space-1) 0 0;font-size:var(--text-md);color:inherit;opacity:.85}[data-product=fertility] .fx-program li:not(.is-done):not(.is-now) .fx-stage-text{color:var(--color-tertiary-label)}[data-product=fertility] .fx-choices{display:grid;grid-template-columns:1fr 1fr;grid-gap:var(--space-3);gap:var(--space-3);margin-top:var(--space-7)}[data-product=fertility] .fx-choice{display:flex;flex-direction:column;gap:var(--space-1);padding:var(--space-5);border:1.5px solid var(--color-separator);border-radius:20px;background:var(--color-surface);color:var(--ink);font:inherit;text-align:left;cursor:pointer;transition:border-color var(--duration-fast) var(--ease-out),background var(--duration-fast) var(--ease-out)}[data-product=fertility] .fx-choice:hover:not(:disabled){border-color:rgba(20,20,20,.3)}[data-product=fertility] .fx-choice.is-on{border-color:var(--ink);background:#FFFFFF}[data-product=fertility] .fx-choice:disabled{cursor:default}[data-product=fertility] .fx-choice:focus-visible,[data-product=fertility] .fx-text-link:focus-visible{outline:2px solid var(--dot);outline-offset:3px}[data-product=fertility] .fx-choice-name{display:flex;align-items:center;gap:var(--space-2);font-size:var(--text-lg);font-weight:600}[data-product=fertility] .fx-choice.is-on .fx-choice-name:after{content:"";width:8px;height:8px;border-radius:50%;background:var(--dot)}[data-product=fertility] .fx-choice-text{font-size:var(--text-md);line-height:1.4;color:var(--color-secondary-label)}[data-product=fertility] .fx-note{margin:var(--space-3) 0 0;font-size:var(--text-sm);color:var(--color-tertiary-label)}[data-product=fertility] .fx-actions{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-5)}[data-product=fertility] .fx-text-link{margin-top:var(--space-7);font-size:var(--text-md);font-weight:600;color:var(--ink);text-underline-offset:3px}[data-product=fertility] .fx-plan{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:var(--space-5)}[data-product=fertility] .fx-plan .fx-section-title{margin-bottom:var(--space-1)}[data-product=fertility] .fx-meta{margin:0;font-size:var(--text-md);color:var(--color-secondary-label)}[data-product=fertility] .fx-plan-actions{display:flex;gap:var(--space-2)}@media (max-width:768px){[data-product=fertility] .portal-header{padding:var(--space-4) var(--space-4) var(--space-3)}[data-product=fertility] .portal-header-inner{padding:0}[data-product=fertility] .portal-header-wordmark{display:block;height:24px;margin-bottom:var(--space-4)}[data-product=fertility] .portal-page-title,[data-product=fertility] .portal-page-title>span{font-size:1.75rem}[data-product=fertility] .portal-content{padding:var(--space-4) var(--space-4) var(--space-8)}[data-product=fertility] .fx-card{padding:var(--space-6);border-radius:24px}[data-product=fertility] .fx-next{padding:var(--space-7) var(--space-6)}[data-product=fertility] .fx-btn{width:100%;justify-content:center}[data-product=fertility] .fx-couple{grid-template-columns:1fr}[data-product=fertility] .fx-link{padding:var(--space-5) var(--space-6)}[data-product=fertility] .portal-home-grid{margin-top:var(--space-4)}[data-product=fertility] .portal-home-card{background:var(--color-surface);box-shadow:none}[data-product=fertility] .portal-home-card:before{display:none}[data-product=fertility] .fx-choices{grid-template-columns:1fr;margin-top:var(--space-6)}[data-product=fertility] .fx-actions{flex-direction:column;align-items:stretch;gap:0}[data-product=fertility] .fx-text-link{margin-top:var(--space-4);text-align:center}[data-product=fertility] .fx-plan-actions{width:100%}[data-product=fertility] .fx-plan-actions>*{flex:1 1;justify-content:center}}