:root{color-scheme:light;--cream: #fff9f2;--blush: #f8dce3;--rose: #d9617d;--lavender: #d9cdf9;--lilac: #8f7ad8;--plum: #32123f;--grape: #5b2f6f;--sage: #7c9a82;--ink: #26142e;--muted: #756678;--line: rgba(50, 18, 63, .13);--surface: rgba(255, 255, 255, .78);--shadow: 0 18px 45px rgba(91, 47, 111, .14);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{margin:0;min-width:0;color:var(--ink);background:radial-gradient(circle at top left,rgba(248,220,227,.9),transparent 34rem),linear-gradient(145deg,var(--cream),#f4efff 55%,#fff7ed)}button,input,select,textarea{font:inherit}button{cursor:pointer}svg{width:1.15rem;height:1.15rem;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex:0 0 auto}.app{width:min(100%,1024px);min-height:100dvh;margin:0 auto;padding:1rem 1rem calc(6.5rem + env(safe-area-inset-bottom))}.auth-shell{display:grid;width:min(100%,32rem);min-height:100dvh;margin:0 auto;padding:1rem;place-items:center}.auth-card{display:grid;gap:1rem;width:100%;padding:1.25rem;border:1px solid var(--line);border-radius:28px;background:#ffffffd6;box-shadow:var(--shadow);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.onboarding-shell{display:grid;width:min(100%,62rem);min-height:100dvh;margin:0 auto;padding:1rem;place-items:center}.onboarding-card{width:100%;overflow:hidden;border:1px solid var(--line);border-radius:30px;background:#ffffffdb;box-shadow:0 24px 70px #5b2f6f2e;-webkit-backdrop-filter:blur(22px);backdrop-filter:blur(22px)}.onboarding-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1.1rem 1.25rem;border-bottom:1px solid var(--line);background:linear-gradient(135deg,#fff9f2db,#d9cdf952)}.onboarding-header h1{font-size:clamp(1.65rem,5vw,2.5rem)}.onboarding-skip{flex:0 0 auto;min-height:2.6rem;padding:.55rem .85rem;border:1px solid var(--line);border-radius:14px;color:var(--grape);background:#ffffffb8;font-size:.78rem;font-weight:850}.onboarding-progress{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));padding:1rem 1.25rem 0}.onboarding-progress>div{position:relative;display:grid;justify-items:center;gap:.35rem;color:var(--muted);font-size:.72rem;font-weight:800;text-align:center}.onboarding-progress>div:not(:last-child):after{position:absolute;top:.85rem;left:calc(50% + 1.15rem);width:calc(100% - 2.3rem);height:2px;content:"";background:#32123f1a}.onboarding-progress i{display:grid;z-index:1;width:1.75rem;height:1.75rem;place-items:center;border-radius:50%;background:#eee7f1;font-style:normal}.onboarding-progress>div.active{color:var(--grape)}.onboarding-progress>div.active i{color:#fff;background:linear-gradient(135deg,var(--rose),var(--grape));box-shadow:0 4px 12px #5b2f6f38}.onboarding-progress>div.active:not(:last-child):after{background:linear-gradient(90deg,var(--rose),var(--lilac))}.onboarding-content{display:grid;gap:1.1rem;min-height:32rem;padding:1.25rem}.onboarding-welcome,.onboarding-form-step{display:grid;align-content:start;gap:1rem}.onboarding-welcome>div:first-child{max-width:42rem}.onboarding-kicker{margin-bottom:.35rem;color:var(--rose);font-size:.76rem;font-weight:900;text-transform:uppercase}.onboarding-welcome h2{margin-bottom:.45rem;color:var(--plum);font-size:clamp(1.7rem,5vw,2.65rem);line-height:1.08}.onboarding-welcome>div:first-child>p:last-child,.onboarding-note{margin:0;color:var(--muted);line-height:1.5}.onboarding-feature-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem}.onboarding-feature-grid article{display:grid;grid-template-columns:auto 1fr;gap:.25rem .65rem;align-content:start;min-height:8.5rem;padding:.9rem;border:1px solid var(--line);border-radius:20px;background:#ffffffa8}.onboarding-feature-grid svg{grid-row:span 2;width:2.2rem;height:2.2rem;padding:.5rem;border-radius:14px;color:var(--plum);background:var(--blush)}.onboarding-feature-grid strong{color:var(--plum)}.onboarding-feature-grid span{color:var(--muted);font-size:.8rem;line-height:1.4}.onboarding-privacy{display:flex;align-items:center;gap:.55rem;margin:0;padding:.8rem;border-radius:16px;color:var(--grape);background:#d9cdf93d;font-size:.82rem;font-weight:750}.onboarding-cycle-fields small{color:var(--muted);font-weight:600}.onboarding-actions{display:grid;grid-template-columns:minmax(7rem,auto) 1fr minmax(7rem,auto);align-items:center;gap:.75rem;margin-top:auto;padding-top:1rem;border-top:1px solid var(--line)}.onboarding-actions>span{color:var(--muted);font-size:.75rem;font-weight:800;text-align:center}.onboarding-actions button:disabled{cursor:not-allowed;opacity:.4}.legal-public-shell{width:min(100%,58rem);min-height:100dvh;margin:0 auto;padding:1rem}.legal-document{overflow:hidden;border:1px solid var(--line);border-radius:28px;background:#ffffffdb;box-shadow:var(--shadow);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.legal-document-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1.1rem 1.25rem;border-bottom:1px solid var(--line);background:linear-gradient(135deg,#fff9f2eb,#d9cdf957)}.legal-document-header h1{font-size:clamp(1.45rem,5vw,2.4rem)}.legal-document-header .outline-btn{min-width:5rem}.legal-effective-date{margin:0;padding:1rem 1.25rem 0;color:var(--muted);font-size:.78rem;font-weight:750}.legal-sections{display:grid;gap:0;padding:.5rem 1.25rem 1.25rem}.legal-sections>section{padding:1rem 0;border-bottom:1px solid var(--line)}.legal-sections>section:last-child{border-bottom:0}.legal-sections h2{margin-bottom:.45rem;color:var(--plum);font-size:1.08rem}.legal-sections p,.legal-sections li{color:var(--muted);line-height:1.65}.legal-sections p{margin-bottom:.6rem}.legal-sections p:last-child{margin-bottom:0}.legal-sections ul{display:grid;gap:.35rem;margin:.35rem 0 .65rem;padding-left:1.2rem}.legal-sections a,.auth-legal-copy button,.legal-links button{color:var(--grape);font-weight:800}.auth-legal-copy{margin:0;color:var(--muted);font-size:.75rem;line-height:1.5;text-align:center}.auth-legal-copy button,.legal-links button{padding:0;border:0;background:transparent;text-decoration:underline;text-underline-offset:2px}.auth-card h1{font-size:clamp(2.4rem,12vw,4rem)}.auth-brand,.brand-lockup{display:flex;align-items:center;gap:.8rem;min-width:0}.auth-brand{align-items:flex-start}.bloom-logo{position:relative;isolation:isolate;overflow:hidden;display:grid;width:3.35rem;aspect-ratio:1;place-items:center;flex:0 0 auto;border-radius:19px;background:radial-gradient(circle at 28% 20%,#fff 0 12%,transparent 34%),linear-gradient(145deg,#fffffffa,#f8dce3ad 48%,#d9cdf9d1),var(--cream);box-shadow:inset 0 1px 1px #fffffff2,inset 0 -5px 14px #8f7ad81f,0 10px 24px #5b2f6f33,0 0 18px #d9cdf980}.bloom-logo:after{position:absolute;z-index:2;top:-45%;bottom:-45%;left:-70%;width:42%;content:"";pointer-events:none;background:linear-gradient(90deg,transparent,rgba(255,255,255,.82),transparent);filter:blur(1px);transform:rotate(18deg);animation:bloom-logo-shimmer 4.5s ease-in-out infinite}.auth-brand .bloom-logo{width:4.25rem;border-radius:23px}.bloom-logo svg{position:relative;z-index:1;width:82%;height:82%;stroke-width:0;filter:drop-shadow(0 3px 4px rgba(91,47,111,.2))}.logo-ring{fill:#fffdf8f5;stroke:#ffffffeb;stroke-width:2;filter:drop-shadow(0 0 3px rgba(255,255,255,.9))}.logo-petal{fill:var(--rose);filter:drop-shadow(0 1px 2px rgba(91,47,111,.25))}.petal-two{fill:var(--lilac)}.petal-three{fill:var(--blush)}.logo-leaf{fill:var(--sage)}.logo-center{fill:var(--plum);filter:drop-shadow(0 0 3px rgba(217,205,249,.9))}@keyframes bloom-logo-shimmer{0%,55%{left:-70%;opacity:0}65%{opacity:.85}85%,to{left:135%;opacity:0}}@media(prefers-reduced-motion:reduce){.bloom-logo:after{left:30%;opacity:.35;animation:none}}.auth-copy,.auth-note,.auth-message{margin-bottom:0;color:var(--muted);line-height:1.45}.auth-note{padding:.9rem;border-radius:18px;background:#d9cdf952;font-size:.82rem}.auth-message{color:#8d2444;font-weight:800}.auth-message.success{color:#315f3b;background:#7c9a8229;border-radius:14px;padding:.75rem}.auth-form{display:grid;gap:.85rem}.password-field{position:relative}.password-field input{padding-right:4.4rem}.password-field button{position:absolute;top:50%;right:.45rem;min-width:3.4rem;min-height:2.1rem;padding:.35rem .55rem;border:0;border-radius:11px;color:var(--grape);background:#d9cdf96b;font-size:.72rem;font-weight:900;transform:translateY(-50%)}.password-field button:hover,.password-field button:focus-visible{background:var(--lavender)}.auth-form .primary-btn:disabled{cursor:wait;opacity:.72}.auth-actions{display:grid;grid-template-columns:1fr;gap:.6rem}.auth-actions button{min-height:2.7rem;border:1px solid var(--line);border-radius:16px;color:var(--grape);background:#ffffffb3;font-weight:850}.topbar{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;padding:.7rem 0 1rem}.brand-lockup h1{font-size:clamp(1.85rem,7vw,3.2rem)}.eyebrow{margin:0 0 .2rem;color:var(--grape);font-size:.74rem;font-weight:800;letter-spacing:0;text-transform:uppercase}h1,h2,h3,p{margin-top:0}h1{margin-bottom:0;font-size:clamp(2rem,8vw,3.4rem);line-height:.98;letter-spacing:0;color:var(--plum)}h2{letter-spacing:0}.icon-toggle{display:grid;width:2.75rem;height:2.75rem;place-items:center;border:1px solid var(--line);border-radius:50%;color:var(--plum);background:var(--surface);box-shadow:var(--shadow)}.page{display:grid;gap:1rem}.hero-panel,.setup-panel,.calendar-card,.form-panel,.journal-panel,.pregnancy-setup-panel,.pregnancy-progress-card,.pregnancy-info-card,.pregnancy-notes-panel,.pregnancy-empty-state,.pregnancy-disclaimer,.clinician-card,.insight-card,.signature-card,.ritual-card,.timeline-card,.settings-panel,.privacy-note,.confidence-card{border:1px solid var(--line);border-radius:24px;background:var(--surface);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.hero-panel{display:grid;grid-template-columns:1fr auto;align-items:center;gap:1rem;min-height:12rem;padding:1.2rem;overflow:hidden;color:#fff;background:linear-gradient(135deg,#32123fed,#865aa6e6),linear-gradient(135deg,var(--plum),var(--lilac))}.hero-panel p,.insight-card p,.confidence-card p{margin-bottom:.35rem;font-size:.78rem;font-weight:800;letter-spacing:0;text-transform:uppercase}.hero-panel h2{margin-bottom:.45rem;font-size:2rem}.hero-panel span,.insight-card span,.signature-card span,.ritual-card span,.pattern-grid span{display:block;line-height:1.45}.hero-panel span,.insight-card span{color:#ffffffd6}.ritual-card{display:grid;grid-template-columns:auto 1fr;gap:.85rem;align-items:start;padding:1rem}.ritual-card svg{width:2.4rem;height:2.4rem;padding:.55rem;border-radius:16px;color:var(--plum);background:var(--lavender)}.ritual-card p,.signature-card p{margin-bottom:.25rem;color:var(--grape);font-size:.75rem;font-weight:900;letter-spacing:0;text-transform:uppercase}.ritual-card h2,.signature-card h2{margin-bottom:.25rem;color:var(--plum);font-size:1.25rem}.ritual-card span,.signature-card span,.pattern-grid span{color:var(--muted)}.ritual-card.quiet svg{color:#31513b;background:#7c9a8238}.phase-orbit{display:grid;width:5.8rem;aspect-ratio:1;place-items:center;border:1px solid rgba(255,255,255,.38);border-radius:50%;background:#ffffff24}.phase-orbit span{display:grid;width:4.1rem;aspect-ratio:1;place-items:center;border-radius:50%;color:#fff;background:#ffffff2e;font-size:1.5rem;font-weight:900}.setup-panel,.form-panel,.journal-panel,.settings-panel,.pregnancy-setup-panel,.pregnancy-notes-panel{display:grid;gap:1rem;padding:1rem}.pregnancy-date-note{color:var(--muted);line-height:1.45}.pregnancy-error{margin:0;padding:.75rem .85rem;border-radius:14px;color:#8d2444;background:#f8dce39e;font-weight:750}.pregnancy-progress-card{display:grid;gap:.75rem;padding:1rem}.pregnancy-progress-card>div:first-child{display:flex;align-items:center;justify-content:space-between;gap:1rem}.pregnancy-progress-card>div:first-child span{color:var(--grape);font-weight:850}.pregnancy-progress-card strong{color:var(--rose);font-size:1.6rem}.pregnancy-progress-card small{color:var(--muted)}.pregnancy-weekly-grid{display:grid;grid-template-columns:1fr;gap:.8rem}.pregnancy-info-card{display:grid;grid-template-columns:auto 1fr;align-items:start;gap:.85rem;padding:1rem}.pregnancy-info-card>svg,.pregnancy-empty-state>svg{width:2.5rem;height:2.5rem;padding:.55rem;border-radius:16px;color:var(--plum);background:var(--blush)}.pregnancy-info-card.self-care>svg{color:#31513b;background:#7c9a8238}.pregnancy-size-emoji{display:grid;width:2.8rem;height:2.8rem;place-items:center;border-radius:16px;background:#d9cdf96b;font-size:1.55rem;line-height:1}.pregnancy-info-card p{margin-bottom:.25rem;color:var(--grape);font-size:.75rem;font-weight:900;text-transform:uppercase}.pregnancy-info-card h2,.pregnancy-empty-state h2{margin-bottom:.3rem;color:var(--plum);font-size:1.2rem}.pregnancy-info-card span,.pregnancy-empty-state p,.pregnancy-disclaimer p{color:var(--muted);line-height:1.5}.pregnancy-empty-state{display:grid;justify-items:center;gap:.4rem;padding:2rem 1rem;text-align:center}.pregnancy-empty-state p{max-width:34rem;margin:0}.pregnancy-disclaimer{display:flex;align-items:flex-start;gap:.75rem;padding:1rem;background:#d9cdf93d}.pregnancy-disclaimer svg{margin-top:.15rem;color:var(--grape)}.pregnancy-disclaimer p{margin:0;font-size:.82rem}.care-checkin-grid{display:grid;grid-template-columns:1fr;gap:.8rem}.care-control{display:grid;gap:.7rem;min-height:9rem;align-content:start;padding:.9rem;border:1px solid var(--line);border-radius:18px;background:#ffffff94}.care-control-heading{display:flex;align-items:center;gap:.45rem;color:var(--grape);font-size:.82rem;font-weight:900}.care-control-heading svg{color:var(--rose)}.stepper{display:grid;grid-template-columns:2.6rem 1fr 2.6rem;align-items:center;gap:.5rem}.stepper button,.icon-action{display:grid;width:2.6rem;height:2.6rem;place-items:center;border:1px solid var(--line);border-radius:50%;color:var(--plum);background:#fff}.stepper strong{color:var(--plum);font-size:1.5rem;text-align:center}.stepper small{color:var(--muted);font-size:.72rem}.mini-progress,.trend-track{height:.45rem;overflow:hidden;border-radius:99px;background:#32123f17}.mini-progress span,.trend-track span{display:block;height:100%;border-radius:inherit;background:var(--sage)}.medication-checks{display:grid;gap:.5rem;margin-top:.55rem}.medication-checks label{display:flex;align-items:center;gap:.65rem;min-height:3rem;padding:.6rem .8rem;border:1px solid var(--line);border-radius:16px;background:#fff9}.medication-checks input{width:1.25rem;min-height:1.25rem;accent-color:var(--grape)}.medication-checks span{display:flex;justify-content:space-between;width:100%}.medication-checks small{color:var(--muted)}.clinician-card{display:grid;gap:1rem;padding:1rem}.patient-details-form{display:grid;gap:1rem}.patient-submit-btn{width:100%}.clinician-actions{display:grid;grid-template-columns:1fr;gap:.6rem}.clinician-actions a,.clinician-actions button{display:inline-flex;align-items:center;justify-content:center;gap:.45rem;min-height:3rem;border:0;border-radius:16px;color:#fff;background:var(--plum);font-weight:900;text-decoration:none}.clinician-actions a:nth-child(2){background:var(--grape)}.clinician-actions button{background:var(--rose)}.clinician-actions .disabled{pointer-events:none;color:var(--muted);background:#32123f14}.care-note{margin-bottom:0;padding:.8rem;border-radius:16px;color:#6f2740;background:#ffe4e9;font-size:.82rem;line-height:1.45}.account-card{display:grid;grid-template-columns:auto 1fr auto;gap:.75rem;align-items:center;padding:.9rem;border:1px solid var(--line);border-radius:18px;background:#ffffff94}.account-card svg{width:2.15rem;height:2.15rem;padding:.5rem;border-radius:14px;color:var(--plum);background:var(--lavender)}.account-card div{display:grid;gap:.15rem;min-width:0}.account-card strong{overflow:hidden;color:var(--plum);text-overflow:ellipsis;white-space:nowrap}.account-card small{color:var(--muted)}.account-card button{min-height:2.45rem;border:0;border-radius:14px;color:#fff;background:var(--plum);padding:0 .8rem;font-weight:900}label{display:grid;gap:.45rem}label span,.field-title{color:var(--grape);font-size:.82rem;font-weight:800}input,select,textarea{width:100%;min-height:3rem;border:1px solid var(--line);border-radius:16px;outline:none;color:var(--ink);background:#ffffffc7;padding:.82rem .95rem}textarea{resize:vertical;line-height:1.45}input:focus,select:focus,textarea:focus{border-color:var(--lilac);box-shadow:0 0 0 4px #d9cdf980}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:.8rem}.metric-grid{display:grid;grid-template-columns:1fr;gap:.8rem}.metric-card{display:grid;grid-template-columns:auto 1fr;gap:.15rem .75rem;align-items:center;min-height:6.4rem;padding:1rem;border:1px solid var(--line);border-radius:22px;background:#ffffffb8}.metric-card svg{grid-row:span 2;width:2.25rem;height:2.25rem;padding:.55rem;border-radius:14px;color:var(--plum);background:var(--blush)}.metric-card span{color:var(--muted);font-size:.82rem;font-weight:700}.metric-card strong{color:var(--plum);font-size:1.02rem}.confidence-card{display:grid;gap:.75rem;padding:1rem}.confidence-card>div:first-child{display:flex;justify-content:space-between;gap:1rem}.confidence-card strong{color:var(--rose);font-size:2rem;line-height:1}.confidence-card small,.muted,.section-header p{color:var(--muted);line-height:1.45}.progress-track{height:.7rem;overflow:hidden;border-radius:99px;background:#32123f17}.progress-track span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--rose),var(--lilac),var(--sage))}.section-header h2{margin-bottom:.25rem;color:var(--plum);font-size:1.55rem}.section-header p{margin-bottom:0}.section-header,.section-header.compact{min-width:0}.calendar-card{padding:1rem}.calendar-toolbar{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:.75rem;margin-bottom:1rem}.calendar-toolbar h3{margin:0;color:var(--plum);font-size:clamp(1.05rem,3vw,1.35rem);text-align:center}.month-nav-button{display:inline-flex;align-items:center;justify-content:center;gap:.45rem;min-height:2.6rem;padding:.55rem .8rem;border:1px solid var(--line);border-radius:14px;color:var(--grape);background:#ffffffb8;font-size:.82rem;font-weight:850}.month-nav-button:first-child{justify-self:start}.month-nav-button:last-child{justify-self:end}.month-nav-button:hover,.month-nav-button:focus-visible{border-color:var(--lilac);background:#d9cdf957}.weekday-row,.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:.35rem}.weekday-row{margin-bottom:.45rem;color:var(--muted);font-size:.72rem;font-weight:900;text-align:center}.day-cell{position:relative;display:grid;min-height:2.55rem;place-items:center;border-radius:14px;color:var(--ink);background:#ffffffa8;font-size:.9rem;font-weight:800}.day-cell.blank{background:transparent}.day-cell.period{background:var(--blush);color:#7d2440}.day-cell.fertile{background:var(--lavender);color:var(--plum)}.day-cell.ovulation{color:#fff;background:var(--grape)}.day-cell.today{outline:2px solid var(--sage);outline-offset:2px}.symptom-marker{position:absolute;right:.35rem;bottom:.3rem;width:.38rem;height:.38rem;border:1px solid rgba(255,255,255,.9);border-radius:50%;background:var(--rose);box-shadow:0 1px 3px #32123f40}.legend{display:flex;flex-wrap:wrap;gap:.7rem;color:var(--muted);font-size:.82rem;font-weight:700}.legend span{display:inline-flex;align-items:center;gap:.35rem}.legend i{width:.7rem;height:.7rem;border-radius:50%}.period-dot{background:var(--blush)}.fertile-dot{background:var(--lavender)}.ovulation-dot{background:var(--grape)}.symptom-dot{background:var(--rose)}.today-dot{background:var(--sage)}.chip-grid,.signal-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem;margin-top:.5rem}.chip{min-height:2.75rem;border:1px solid var(--line);border-radius:16px;color:var(--grape);background:#ffffffb8;font-weight:800}.chip.selected{border-color:transparent;color:#fff;background:var(--grape)}.primary-btn,.summary-btn,.danger-btn,.outline-btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;min-height:3.15rem;border:0;border-radius:18px;font-weight:900}.primary-btn,.summary-btn{color:#fff;background:var(--plum)}.danger-btn{color:#8d2444;background:#ffe4e9}.outline-btn{color:var(--grape);background:#ffffffb8;border:1px solid var(--line)}.primary-btn:disabled,.summary-btn:disabled{cursor:wait;opacity:.65}.outline-btn:disabled{cursor:not-allowed;opacity:.65}.report-actions,.settings-actions{display:grid;grid-template-columns:1fr;gap:.65rem}.summary-btn.secondary{color:var(--grape);background:var(--lavender)}.analytics-panel{display:grid;gap:.9rem}.analytics-metrics{display:grid;grid-template-columns:1fr;gap:.65rem}.trend-grid{display:grid;gap:.75rem}.trend-card{display:grid;gap:.7rem;padding:1rem;border:1px solid var(--line);border-radius:20px;background:#ffffffad}.trend-card h3{margin:0;color:var(--plum)}.trend-row{display:grid;gap:.35rem}.trend-row>div:first-child{display:flex;justify-content:space-between;gap:1rem;color:var(--muted);font-size:.82rem}.trend-row strong{color:var(--plum)}.trend-track span{background:linear-gradient(90deg,var(--rose),var(--lilac))}.analytics-note{margin:0;color:var(--muted);font-size:.78rem;line-height:1.45}.insight-card{padding:1.15rem;color:#fff;background:linear-gradient(135deg,#5b2f6ff0,#d9617dd1),var(--grape)}.signature-card{padding:1.15rem;background:linear-gradient(135deg,#ffffffd6,#d9cdf98f),var(--surface)}.insight-card h2{margin-bottom:.45rem;font-size:1.8rem}.pattern-grid{display:grid;gap:.8rem}.pattern-grid article{display:grid;grid-template-columns:auto 1fr;gap:.25rem .7rem;align-items:start;min-height:5.4rem;padding:.95rem;border:1px solid var(--line);border-radius:20px;background:#ffffffad}.pattern-grid svg{grid-row:span 2;width:2.15rem;height:2.15rem;padding:.5rem;border-radius:14px;color:var(--plum);background:var(--blush)}.pattern-grid strong{color:var(--plum)}.timeline-card{display:grid;gap:.8rem;padding:1rem}.section-header.compact h2{font-size:1.25rem}.timeline-bars{display:grid;grid-template-columns:repeat(7,minmax(2.2rem,1fr));gap:.45rem;min-height:9rem;align-items:end;overflow-x:auto;padding-bottom:.2rem}.timeline-day{display:grid;grid-template-rows:auto 5.8rem auto;grid-template-columns:repeat(3,.45rem);justify-content:center;gap:.25rem;min-width:2.45rem;color:var(--muted);font-size:.68rem;font-weight:800;text-align:center}.timeline-day>span,.timeline-day>strong{grid-column:1 / -1}.timeline-day i{align-self:end;width:.45rem;min-height:1rem;border-radius:99px;background:var(--rose)}.timeline-day i:nth-of-type(2){background:var(--lilac)}.timeline-day i:nth-of-type(3){background:var(--sage)}.timeline-day strong{color:var(--plum);font-size:.72rem}.history-list{display:grid;gap:.65rem}.history-list h3{margin:.25rem 0 0;color:var(--plum)}.history-list article{display:grid;gap:.25rem;padding:.85rem;border:1px solid var(--line);border-radius:18px;background:#ffffffa6}.history-list span{color:var(--muted);line-height:1.4}.switch-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.9rem;border:1px solid var(--line);border-radius:18px;background:#ffffff94}.switch-row span{display:grid;gap:.25rem}.switch-row small{color:var(--muted);line-height:1.35}.switch-row input{width:1.35rem;min-height:1.35rem;accent-color:var(--grape)}.settings-section{display:grid;gap:.85rem;padding-top:1rem;border-top:1px solid var(--line)}.status-heading{display:flex;align-items:start;justify-content:space-between;gap:.75rem}.status-badge{flex:0 0 auto;padding:.4rem .6rem;border-radius:99px;color:#31513b;background:#7c9a8233;font-size:.7rem;font-weight:900}.cloud-status-group{display:flex;flex:0 0 auto;align-items:center;justify-content:flex-end;gap:.45rem;flex-wrap:wrap}.cloud-delete-btn{justify-self:start;padding:.45rem 0;border:0;color:#8d2444;background:transparent;font-size:.78rem;font-weight:850;text-decoration:underline;text-underline-offset:3px}.cloud-delete-btn:disabled{cursor:not-allowed;opacity:.45}.cloud-delete-btn.confirming{padding:.55rem .75rem;border-radius:12px;color:#fff;background:#8d2444;text-decoration:none}.switch-row input:disabled{cursor:not-allowed;opacity:.5}.smart-reminder-heading{display:flex;align-items:start;justify-content:space-between;gap:.75rem}.premium-badge{flex:0 0 auto;padding:.4rem .65rem;border-radius:99px;color:#fff;background:linear-gradient(135deg,var(--rose),var(--grape));box-shadow:0 5px 14px #5b2f6f33;font-size:.68rem;font-weight:900;text-transform:uppercase}.smart-reminder-manager{display:grid;gap:.85rem}.smart-reminder-form{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,11rem),1fr));align-items:end;gap:.65rem;padding:.85rem;border:1px solid var(--line);border-radius:20px;background:#d9cdf929}.smart-reminder-list{display:grid;gap:.5rem}.smart-reminder-list>.muted{margin:0;padding:.8rem;border-radius:16px;background:#ffffff80}.smart-reminder-item{display:grid;grid-template-columns:1fr 2.6rem;align-items:center;gap:.45rem}.smart-reminder-toggle{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:.7rem;min-height:3.7rem;padding:.65rem .75rem;border:1px solid var(--line);border-radius:17px;color:var(--muted);background:#ffffff94;text-align:left}.smart-reminder-toggle>svg{width:2rem;height:2rem;padding:.42rem;border-radius:12px;color:var(--grape);background:var(--blush)}.smart-reminder-toggle>span{display:grid;gap:.14rem;min-width:0}.smart-reminder-toggle strong,.smart-reminder-toggle small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.smart-reminder-toggle small{color:var(--muted)}.smart-reminder-toggle>i{position:relative;width:2.1rem;height:1.2rem;border-radius:99px;background:#32123f29}.smart-reminder-toggle>i:after{position:absolute;top:.15rem;left:.15rem;width:.9rem;height:.9rem;border-radius:50%;content:"";background:#fff;box-shadow:0 1px 4px #32123f33;transition:transform .16s ease}.smart-reminder-item.active .smart-reminder-toggle{color:var(--plum);border-color:#7c9a8280;background:#7c9a821f}.smart-reminder-item.active .smart-reminder-toggle>i{background:var(--sage)}.smart-reminder-item.active .smart-reminder-toggle>i:after{transform:translate(.9rem)}.compact-switch{padding:.75rem}.medication-manager{display:grid;gap:.75rem;padding-top:.85rem;border-top:1px solid var(--line)}.medication-form{display:grid;grid-template-columns:1fr 7.5rem auto;align-items:end;gap:.55rem}.medication-list{display:grid;gap:.5rem}.medication-list>div{display:grid;grid-template-columns:1fr 2.6rem;gap:.45rem}.medication-toggle{display:flex;align-items:center;gap:.65rem;min-height:3rem;padding:.6rem .75rem;border:1px solid var(--line);border-radius:16px;color:var(--muted);background:#ffffff8c;text-align:left}.medication-toggle.active{color:var(--plum);border-color:#7c9a8280;background:#7c9a8224}.medication-toggle span{display:grid;gap:.1rem}.medication-toggle small{color:var(--muted)}.remove-btn{display:grid;width:2.6rem;height:2.6rem;place-items:center;align-self:center;border:0;border-radius:50%;color:#8d2444;background:#ffe4e9}.privacy-note{display:flex;gap:.75rem;align-items:flex-start;padding:1rem}.privacy-note p{margin:0;color:var(--muted);line-height:1.45}.disclaimer{margin:1.1rem 0 0;padding:0 .3rem;color:var(--muted);font-size:.78rem;line-height:1.45}.legal-links{display:flex;align-items:center;gap:.5rem;margin-top:.5rem;padding:0 .3rem;color:var(--muted);font-size:.75rem}.bottom-nav{position:fixed;right:.75rem;bottom:calc(.75rem + env(safe-area-inset-bottom));left:.75rem;z-index:10;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:.25rem;width:min(calc(100% - 1.5rem),46rem);margin:0 auto;padding:.45rem;border:1px solid var(--line);border-radius:24px;background:#ffffffe0;box-shadow:var(--shadow);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.bottom-nav button{display:grid;gap:.2rem;min-height:3.5rem;place-items:center;border:0;border-radius:18px;color:var(--muted);background:transparent;font-size:.68rem;font-weight:900}.bottom-nav button.active{color:#fff;background:var(--plum)}.private-mode .metric-card strong,.private-mode .history-list span,.private-mode .timeline-card,.private-mode textarea::placeholder{filter:blur(4px)}@media(max-width:700px){.onboarding-shell,.legal-public-shell{padding:.65rem}.onboarding-card,.legal-document{border-radius:24px}.onboarding-feature-grid{grid-template-columns:1fr}.onboarding-feature-grid article{min-height:0}.onboarding-content{min-height:0}.legal-document-header,.legal-effective-date,.legal-sections{padding-right:.9rem;padding-left:.9rem}}@media(min-width:640px){.app{padding:1.5rem 1.5rem 7rem}.metric-grid,.care-checkin-grid,.report-actions,.settings-actions,.trend-grid,.analytics-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard{grid-template-columns:1.05fr .95fr;align-items:start}.dashboard .hero-panel,.dashboard .metric-grid,.dashboard .confidence-card,.dashboard .timeline-card{grid-column:1 / -1}.signal-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.pattern-grid,.pregnancy-weekly-grid,.clinician-actions{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(min-width:900px){.metric-grid,.analytics-metrics{grid-template-columns:repeat(4,minmax(0,1fr))}.pregnancy-weekly-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.hero-panel{min-height:15rem;padding:1.6rem}.page{gap:1.2rem}}@media(max-width:520px){.app{padding:.85rem .85rem calc(7.2rem + env(safe-area-inset-bottom))}.auth-shell{padding:.75rem}.auth-card{padding:1rem;border-radius:22px}.onboarding-header{align-items:flex-start;padding:.9rem}.legal-document-header{align-items:flex-start}.legal-document-header .auth-brand{align-items:center}.onboarding-header .eyebrow{display:none}.onboarding-progress,.onboarding-content{padding-right:.9rem;padding-left:.9rem}.onboarding-progress span{font-size:.62rem}.onboarding-actions{grid-template-columns:1fr 1fr}.onboarding-actions>span{display:none}.onboarding-cycle-fields{grid-template-columns:1fr}.auth-card h1,.brand-lockup h1{font-size:clamp(1.1rem,6vw,1.45rem);line-height:1}.auth-brand .bloom-logo,.brand-lockup .bloom-logo{width:3rem;border-radius:18px}.auth-brand,.brand-lockup{gap:.6rem}.topbar{align-items:flex-start;gap:.7rem}.topbar .icon-toggle{margin-left:auto}.hero-panel{grid-template-columns:1fr;gap:.9rem;padding:1rem}.hero-panel h2{font-size:1.65rem}.phase-orbit{width:4.8rem}.phase-orbit span{width:3.35rem;font-size:1.2rem}.two-col,.care-checkin-grid,.signal-grid,.analytics-metrics,.report-actions,.settings-actions,.trend-grid,.medication-form{grid-template-columns:1fr}.account-card,.switch-row,.status-heading,.clinician-card .signal-grid>label,.clinician-actions,.legend{gap:.55rem}.account-card{grid-template-columns:1fr;align-items:start}.account-card button{width:100%}.switch-row{flex-direction:column;align-items:stretch}.status-heading{flex-direction:column}.cloud-status-group{justify-content:flex-start}.switch-row input{align-self:flex-end}.medication-form{align-items:stretch}.medication-list>div{grid-template-columns:1fr}.remove-btn{justify-self:end}.calendar-card{padding:.85rem}.calendar-toolbar{grid-template-columns:1fr 1fr}.calendar-toolbar h3{grid-column:1 / -1;grid-row:1}.month-nav-button{grid-row:2;width:100%;padding-inline:.55rem;font-size:.74rem}.weekday-row,.calendar-grid{gap:.28rem}.day-cell{min-height:2.2rem;border-radius:12px;font-size:.76rem}.bottom-nav{right:.5rem;bottom:calc(.5rem + env(safe-area-inset-bottom));left:.5rem;gap:.15rem;width:calc(100% - 1rem);padding:.35rem;border-radius:20px}.bottom-nav button{min-height:3.2rem;font-size:.58rem;line-height:1}.bottom-nav button svg{width:1rem;height:1rem}.section-header h2{font-size:1.3rem}}@media(max-width:380px){.bottom-nav button span{font-size:.52rem}.metric-card{padding:.9rem}.confidence-card>div:first-child{flex-direction:column;align-items:flex-start;gap:.35rem}}
