:root{color-scheme:light;--color-bg: #fcfaf8;--color-text-main: #3c3c3c;--color-text-light: #6b7280;--color-accent: #d4b5b0;--color-accent-hover: #c29e99;--color-card-bg: #ffffff;--color-line: #f0eae6;--color-soft: #faf7f5;--color-input: #eef4ff;--shadow-soft: 0 22px 42px rgba(60, 60, 60, .1)}*{box-sizing:border-box}html,body,#app{width:100%;min-height:100%;margin:0}body{background:var(--color-bg);color:var(--color-text-main);font-family:Montserrat,sans-serif}button,input{font:inherit}button{-webkit-tap-highlight-color:transparent}svg{width:1em;height:1em;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}.app-fullscreen{min-height:100dvh;display:flex;flex-direction:column;background:var(--color-bg)}.glass-header{position:sticky;top:0;z-index:30;border-bottom:1px solid var(--color-line);background:#fffffff2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding-top:env(safe-area-inset-top)}.header-inner{width:min(1120px,100%);margin:0 auto;padding:8px 24px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px}.brand-button{border:0;background:transparent;padding:0;cursor:pointer}.brand-lockup{display:flex;align-items:center;gap:12px;color:var(--color-text-main);font-family:Lora,serif;font-size:1.25rem;font-weight:500;letter-spacing:0;text-align:center}.brand-lockup.center{justify-content:center}.brand-mark{width:36px;height:36px;border-radius:999px;display:grid;place-items:center;color:var(--color-accent);background:var(--color-soft);flex:0 0 auto}.brand-mark svg{width:20px;height:20px}.header-nav{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:14px;color:var(--color-text-light);font-size:.86rem;font-weight:500}.header-nav button{border:0;background:transparent;color:inherit;cursor:pointer}.header-nav button:hover{color:var(--color-accent)}.signout-link{text-transform:uppercase;letter-spacing:.12em;font-size:.68rem}.auth-screen{flex:1;width:min(760px,100%);margin:0 auto;padding:72px 20px 60px;display:grid;align-items:start;justify-items:center}.auth-panel{width:min(504px,100%);border:1px solid var(--color-line);border-radius:24px;background:var(--color-card-bg);box-shadow:var(--shadow-soft)}.legacy-auth-card{position:relative;overflow:hidden;padding:38px 36px 36px;text-align:center}.auth-glow{position:absolute;top:-88px;right:-88px;width:260px;height:260px;border-radius:50%;background:var(--color-soft);opacity:.58;pointer-events:none}.auth-copy,.auth-tabs,.auth-form,.auth-message,.reset-button{position:relative;z-index:1}.auth-copy{margin-bottom:34px}.auth-copy h1{margin:0 0 12px;color:var(--color-text-main);font-family:Lora,serif;font-size:2rem;font-weight:400;line-height:1.15;text-align:center}.auth-copy h1 span{color:var(--color-accent);font-style:italic}.auth-copy p,.intro{margin:0;color:var(--color-text-light);font-size:.95rem;font-weight:300;line-height:1.55;text-align:center}.auth-tabs{margin-bottom:36px;display:flex;justify-content:center;gap:44px}.tab-btn{min-width:72px;padding:0 0 14px;border:0;border-bottom:2px solid transparent;background:transparent;color:#9ca3af;cursor:pointer;font-family:Lora,serif;font-size:1.25rem;transition:color .25s ease,border-color .25s ease}.tab-btn.active{color:var(--color-text-main);border-bottom-color:var(--color-text-main)}.auth-form{display:grid;gap:22px}.form-input{width:100%;min-height:60px;border:1px solid #ded8d8;border-radius:12px;padding:14px 20px;background:var(--color-input);color:#111827;font-size:1rem;outline:none;transition:all .3s ease}.form-input::placeholder{color:#9ca3af}.form-input:focus{border-color:var(--color-accent);background:#fff;box-shadow:0 0 0 4px #d4b5b026}.btn-primary,.btn-action,.btn-secondary,.signout-button{min-height:56px;border-radius:12px;cursor:pointer;transition:all .3s ease}.btn-primary,.btn-action{border:0;background:var(--color-text-main);color:#fff;font-family:Lora,serif;font-size:1rem;font-weight:600;letter-spacing:.02em;display:inline-flex;align-items:center;justify-content:center;gap:10px;text-decoration:none;box-shadow:0 14px 22px #3c3c3c24}.btn-primary{width:100%}.btn-action{width:fit-content;padding:12px 24px}.btn-primary:hover,.btn-action:hover{background:var(--color-accent);color:var(--color-text-main);transform:translateY(-2px)}.btn-primary svg,.btn-action svg,.btn-secondary svg{width:17px;height:17px}.btn-secondary{border:1px solid #e5e7eb;background:#fff;color:var(--color-text-main);padding:12px 24px;display:inline-flex;align-items:center;justify-content:center;gap:8px;text-decoration:none}.btn-secondary:hover{border-color:var(--color-accent);color:var(--color-accent)}.reset-button{margin-top:18px;border:0;background:transparent;color:#9ca3af;cursor:pointer;font-size:.78rem;text-transform:uppercase;letter-spacing:.08em}.auth-message{min-height:0;margin:16px 0 0;color:#ef4444;font-size:.85rem;line-height:1.45;text-align:center}.soft-panel{padding:34px 28px;text-align:center}.soft-panel .brand-lockup{margin-bottom:26px}.soft-panel h1{margin:0 0 10px;font-family:Lora,serif;font-weight:400;text-align:center}.client-main{flex:1}.home-view,.onboarding-stack{width:min(896px,100%);margin:0 auto;padding:0 24px 72px}.home-view{padding-top:36px;display:grid;gap:24px}.hero-panel,.dashboard-card,.step-card{border:1px solid rgba(240,234,230,.85);border-radius:20px;background:#fff;box-shadow:0 4px 6px #00000003;transition:all .35s ease}.hero-panel{padding:28px;text-align:center}.hero-panel h1,.section-title h2{margin:0;font-family:Lora,serif;font-size:2rem;font-weight:400;text-align:center}.hero-panel h1 span{color:var(--color-accent);font-style:italic}.hero-panel p{margin:10px auto 0;color:var(--color-text-light);font-weight:300;text-align:center}.hero-actions{margin-top:22px;display:flex;justify-content:center;gap:12px;flex-wrap:wrap}.section-block{padding:24px}.action-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.resource-button{min-height:104px;padding:18px;border:1px solid rgba(240,234,230,.85);cursor:pointer;display:grid;align-content:center;gap:7px;text-align:center;color:var(--color-text-main)}.resource-button span{font-family:Lora,serif;font-size:1.05rem}.resource-button small{color:var(--color-text-light);font-size:.76rem}.resource-button:hover,.step-card:hover{border-color:var(--color-accent);box-shadow:0 15px 30px #d4b5b026;transform:translateY(-2px)}.resource-button.locked{background:#fffdfb}.legacy-dashboard-view{width:min(1120px,100%);margin:0 auto;padding:36px 24px 72px;text-align:center}.legacy-dashboard-hero{margin-bottom:40px;display:grid;justify-items:center;align-items:center;gap:18px;text-align:center}.legacy-dashboard-hero>div:first-child{display:grid;justify-items:center;text-align:center}.legacy-dashboard-hero h1{margin:0 0 8px;font-family:Lora,serif;font-size:clamp(2rem,7vw,2.55rem);font-weight:400;line-height:1.08}.legacy-dashboard-hero h1 span{color:var(--color-accent);font-style:italic}.legacy-dashboard-hero p,.card-heading-row p,.fine-copy{margin:0;color:var(--color-text-light);font-size:.88rem;font-weight:300;line-height:1.55}.text-link-action{border:0;padding:0;background:transparent;color:#9ca3af;cursor:pointer;font-family:inherit;font-size:.72rem;font-weight:500;letter-spacing:.14em;text-transform:uppercase;white-space:nowrap;transition:color .25s ease}.text-link-action:hover{color:var(--color-accent)}.phase-pill{width:fit-content;padding:10px 16px;border:1px solid #f3f4f6;border-radius:999px;background:#fff;color:#9ca3af;box-shadow:0 5px 14px #3c3c3c0a;font-size:.84rem;white-space:nowrap}.phase-pill span{width:8px;height:8px;margin-right:8px;display:inline-block;border-radius:999px;background:#4ade80;animation:pulse 1.4s infinite ease-in-out}@keyframes pulse{0%,to{opacity:.45;transform:scale(.9)}50%{opacity:1;transform:scale(1)}}.phase-pill strong{color:#4b5563;font-weight:600}.legacy-dashboard-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:24px;justify-items:stretch}.legacy-dashboard-card,.legacy-feature-card,.protocol-card{border:1px solid rgba(240,234,230,.9);border-radius:20px;background:#fff;box-shadow:0 4px 6px #00000003;transition:transform .35s ease,box-shadow .35s ease,border-color .35s ease}.legacy-dashboard-card:hover,.legacy-feature-card:hover,.protocol-card:hover{border-color:#d4b5b061;box-shadow:0 20px 40px #d4b5b026;transform:translateY(-4px)}.legacy-dashboard-card{padding:24px;text-align:center}.onboarding-card{position:relative;overflow:hidden;grid-column:span 8}.checkin-card{grid-column:span 4;display:grid;justify-items:center;align-content:center;text-align:center}.progress-card{grid-column:span 8}.coach-chat-card{grid-column:span 4;display:grid;justify-items:center;align-content:center;gap:16px;color:var(--color-text-main);cursor:pointer}.rhythm-card{grid-column:span 6}.full-row{grid-column:1 / -1}.card-topline,.card-heading-row,.section-line{display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:16px}.card-topline>div,.card-heading-row>div,.section-line>div{display:grid;justify-items:center;text-align:center;min-width:0}.card-topline h2,.legacy-dashboard-card h2,.legacy-section h2,.legacy-feature-card strong{margin:0;font-family:Lora,serif;font-weight:400;color:var(--color-text-main);line-height:1.25}.card-topline span{color:var(--color-accent);font-family:Lora,serif;font-size:1.8rem}.onboarding-card .progress-track{margin:14px 0 22px}.onboarding-mini-list{position:relative;z-index:1;margin:0 0 24px;padding:0;display:grid;gap:12px;list-style:none}.onboarding-mini-list li{display:inline-flex;align-items:center;justify-content:center;gap:12px;color:#4b5563;font-size:.86rem;width:100%;text-align:center}.onboarding-mini-list svg{width:17px;height:17px;color:#d1d5db}.onboarding-mini-list .completed-item{color:#059669}.onboarding-mini-list .completed-item svg{color:#34d399}.compact-btn{position:relative;z-index:1;width:100%;min-width:0;max-width:360px;margin:0 auto}.ghost-icon{position:absolute;right:-16px;bottom:-18px;color:var(--color-soft);font-size:8rem}.round-icon,.legacy-icon,.protocol-card span{width:48px;height:48px;border-radius:999px;display:grid;place-items:center;color:var(--color-accent);background:var(--color-soft);flex:0 0 auto}.round-icon svg,.legacy-icon svg,.protocol-card span svg{width:24px;height:24px}.rose-label{margin:8px 0;color:var(--color-accent);font-size:.78rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.checkin-status{width:100%;margin:20px 0;padding:13px 14px;border:1px solid var(--color-line);border-radius:14px;background:var(--color-soft);color:var(--color-text-main);font-size:.88rem;font-weight:600}.checkin-status.due{color:#ef4444}.checkin-status.current{color:#059669}.rose-button{width:100%;border:0;border-radius:12px;background:var(--color-accent);color:#fff;cursor:pointer;font-weight:600;padding:13px 18px}.mini-chart{height:256px;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));align-items:end;gap:14px}.mini-chart-point{height:100%;display:grid;grid-template-rows:1fr auto;align-items:end;gap:8px}.mini-chart-bars{height:100%;display:flex;align-items:end;justify-content:center;gap:5px;border-bottom:1px solid var(--color-line)}.mini-chart-bars span{width:14px;min-height:10px;border-radius:999px 999px 0 0}.weight-bar{background:var(--color-text-main)}.mood-bar{background:linear-gradient(180deg,#e6c8c3,var(--color-accent))}.mini-chart-point small{color:#9ca3af;font-size:.68rem;text-align:center}.chart-empty-state{min-height:256px;display:grid;place-items:center;align-content:center;gap:10px;color:#9ca3af;text-align:center}.chart-empty-state span{font-size:2.5rem;color:#d1d5db}.rhythm-head{margin-bottom:16px;display:flex;flex-direction:column;align-items:center;gap:16px}.rhythm-head p{margin:4px 0 0;color:var(--color-text-light);font-size:.82rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase}.rhythm-focus{margin-bottom:18px;border:1px solid #ead9d9;border-radius:14px;background:var(--color-soft);color:#4b5563;padding:17px;font-size:.9rem;font-weight:500;line-height:1.6}.legacy-section{margin-top:8px}.legacy-section h2{margin:0 0 16px;display:flex;align-items:center;justify-content:center;gap:8px;font-size:1.25rem;text-align:center}.legacy-section h2 svg{width:20px;height:20px;color:var(--color-accent)}.legacy-two-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.legacy-two-grid.single{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.legacy-feature-card{min-height:116px;width:100%;padding:22px;color:var(--color-text-main);cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:14px;position:relative;text-align:center}.legacy-feature-card small{margin-top:5px;display:block;color:var(--color-text-light);font-size:.84rem;font-weight:300;line-height:1.45}.legacy-feature-card em{position:absolute;top:16px;right:16px;color:#d1d5db;font-style:normal}.daily-protocols{margin-top:16px}.section-line{margin-bottom:16px}.section-line h2{margin-bottom:0}.section-line button{margin:0 auto;border:0;background:transparent;color:#9ca3af;cursor:pointer;display:inline-flex;align-items:center;gap:4px;font-size:.68rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.section-line button svg{width:14px;height:14px}.protocol-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:16px}.protocol-card{min-height:138px;padding:20px 12px;cursor:pointer;display:grid;justify-items:center;align-content:center;gap:12px;color:var(--color-text-main);text-align:center}.protocol-card strong{font-family:Lora,serif;font-size:.92rem;font-weight:500}.progress-container{position:sticky;top:53px;z-index:20;margin-bottom:32px;border-bottom:1px solid var(--color-line);background:#fcfaf8f2;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);box-shadow:0 2px 8px #3c3c3c08}.progress-inner{width:min(896px,100%);margin:0 auto;padding:16px 24px}.progress-heading{margin-bottom:10px;display:flex;align-items:end;justify-content:space-between;gap:16px}.progress-heading h2{margin:0;font-family:Lora,serif;font-size:1.25rem;font-weight:400}.progress-heading p{margin:4px 0 0;color:var(--color-text-light);font-size:.76rem;font-weight:300}.progress-heading span{color:var(--color-accent);font-family:Lora,serif;font-size:1.8rem}.progress-track{height:8px;border-radius:999px;overflow:hidden;background:#f3f4f6}.progress-fill{height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--color-accent),#e6c8c3);transition:width 1s ease-in-out}.onboarding-intro{padding:34px 0;text-align:center}.onboarding-intro h1{margin:0 0 14px;color:var(--color-text-main);font-family:Lora,serif;font-size:2.35rem;font-weight:400;text-align:center}.onboarding-intro p{max-width:650px;margin:0 auto;color:#4b5563;font-weight:300;line-height:1.7;text-align:center}.step-list{display:grid;gap:32px}.step-card,.lab-card{position:relative;overflow:hidden;padding:32px;display:grid;grid-template-columns:56px 1fr;gap:24px}.lab-card{border:1px solid #ead9d9;border-radius:16px;background:var(--color-soft)}.step-card.completed{border-color:#a7f3d0;background:#f0fdf4}.step-badge{width:56px;height:56px;border-radius:999px;display:grid;place-items:center;font-family:Lora,serif;font-size:1.18rem;font-weight:700;text-align:center}.step-badge.default{background:var(--color-soft);color:var(--color-accent)}.step-badge.done{background:#d1fae5;color:#065f46;font-size:.78rem}.lab-card .step-badge{background:#fff;color:var(--color-accent);box-shadow:0 3px 8px #3c3c3c0a}.step-title-row{margin-bottom:12px;display:flex;align-items:start;justify-content:space-between;gap:16px}.step-title-row h3{margin:0;color:var(--color-text-main);font-family:Lora,serif;font-size:1.25rem;font-weight:400;text-align:left}.step-content p{margin:0 0 24px;color:#4b5563;font-size:.9rem;line-height:1.7}.status-pill{padding:5px 10px;border-radius:999px;background:#dcfce7;color:#15803d;font-size:.68rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase}.optional-ribbon{position:absolute;top:0;right:0;padding:5px 12px;border-radius:0 16px 0 12px;background:#ead9d9;color:var(--color-text-main);font-size:.62rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase}.lab-note{margin-bottom:24px;padding:20px;border-left:4px solid var(--color-accent);border-radius:12px;background:#ffffff9e}.lab-note p{margin:0;font-style:italic}.onboarding-quote{margin-top:48px;text-align:center}.onboarding-quote p{margin:0;color:var(--color-text-main);font-family:Lora,serif;font-size:1.25rem;font-style:italic;text-align:center}.onboarding-quote span{width:36px;height:36px;margin:16px auto 0;display:grid;place-items:center;color:var(--color-accent)}.app-footer{border-top:1px solid var(--color-line);background:#fff;padding:12px 20px calc(12px + env(safe-area-inset-bottom));text-align:center}.footer-crown{width:20px;height:20px;margin:0 auto 4px;color:var(--color-accent)}.app-footer p{margin:0;color:#9ca3af;font-size:.72rem;letter-spacing:.16em;text-transform:uppercase}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;padding:max(20px,env(safe-area-inset-top)) 20px max(20px,env(safe-area-inset-bottom));display:grid;place-items:center;background:#3c3c3c5c;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.modal-card{width:min(460px,100%);max-height:calc(100dvh - 40px);overflow:auto;border:1px solid var(--color-line);border-radius:24px;background:#fff;box-shadow:var(--shadow-soft);padding:34px 30px;text-align:center}.modal-brand{margin-bottom:26px}.eyebrow{margin:0 0 12px;color:var(--color-accent);font-size:.74rem;font-weight:600;letter-spacing:.12em;text-align:center;text-transform:uppercase}.modal-card h2{margin:0 0 18px;color:var(--color-text-main);font-family:Lora,serif;font-size:1.55rem;font-weight:400;line-height:1.25;text-align:center}.modal-card p:not(.eyebrow){margin:0 auto 15px;color:var(--color-text-light);font-size:.94rem;line-height:1.7;text-align:center}.modal-card .btn-primary{margin-top:10px}.form-view{width:min(1040px,100%);margin:0 auto;padding:34px 20px 72px}.form-shell{border:1px solid var(--color-line);border-radius:24px;background:#fff;box-shadow:var(--shadow-soft);padding:28px}.form-shell.wide{width:min(1120px,100%)}.form-heading{margin-bottom:30px;text-align:center}.form-heading h1{margin:14px 0 10px;color:#14532d;font-family:Lora,serif;font-size:2.2rem;font-weight:400;text-align:center}.form-heading p{max-width:680px;margin:0 auto;color:var(--color-text-light);line-height:1.65;text-align:center}.back-button{border:1px solid var(--color-line);border-radius:999px;background:#fff;color:var(--color-text-light);cursor:pointer;padding:8px 14px;font-size:.74rem;letter-spacing:.1em;text-transform:uppercase}.native-form{display:grid;gap:24px}.hidden-section{display:none!important}.form-tabs{margin:0 0 24px;display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px}.form-tab{min-height:58px;border:1px solid var(--color-line);border-radius:12px;background:#fff;color:var(--color-text-main);cursor:pointer;display:grid;gap:3px;place-items:center;padding:10px;text-align:center;transition:all .25s ease}.form-tab span{color:var(--color-accent);font-size:.68rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.form-tab.active{border-color:#ead9d9;background:#f5e8e8;color:#4e5e4e;box-shadow:0 8px 18px #d4b5b024}.form-section{border:1px solid var(--color-line);border-radius:18px;background:#fff;padding:24px}.form-section.new-data-section{border-color:#ead9d9;background:linear-gradient(180deg,#fff,#fffaf8)}.section-kicker{margin-bottom:8px;color:var(--color-accent);font-size:.7rem;font-weight:700;letter-spacing:.14em;text-align:center;text-transform:uppercase}.form-section h2{margin:0 0 18px;color:#14532d;font-family:Lora,serif;font-size:1.45rem;font-weight:400;text-align:center}.form-section h2 em{color:var(--color-accent);font-style:italic}.form-grid{display:grid;gap:16px}.form-grid.two{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}.field-block{display:grid;gap:7px;margin-bottom:16px;justify-items:center;text-align:center}.form-label{color:#4e5e4e;display:block;font-weight:500;line-height:1.35;text-align:center}.form-textarea,.form-select{width:100%;border:1px solid #ded8d8;border-radius:8px;background:var(--color-soft);color:var(--color-text-main);padding:10px 14px;transition:border-color .3s,box-shadow .3s;text-align:center}.form-textarea{min-height:94px;resize:vertical}.form-textarea:focus,.form-select:focus{border-color:#ead9d9;box-shadow:0 0 0 3px #ead9d980;outline:none}.form-note,.mini-note{margin:0 0 16px;color:var(--color-text-light);font-size:.9rem;line-height:1.6;text-align:center}.mini-note{margin-bottom:8px;font-size:.8rem}.food-category{margin-top:22px}.food-category h3{margin:0 0 10px;border-bottom:1px solid #e5e7eb;color:#166534;font-family:Lora,serif;font-size:1.05rem;font-weight:500;padding-bottom:8px}.checkbox-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;width:100%}.checkbox-grid.compact{grid-template-columns:repeat(2,minmax(0,1fr))}.checkbox-label{border-radius:8px;color:var(--color-text-main);cursor:pointer;display:flex;align-items:flex-start;gap:8px;font-size:.83rem;line-height:1.35;padding:7px;transition:background .2s;text-align:left}.checkbox-label:hover{background:#f9fafb}.checkbox-label input{width:16px;height:16px;margin-top:1px;accent-color:#4e5e4e}.pill-grid{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;width:100%}.pill-option input,.question-radio-label input{position:absolute;opacity:0;pointer-events:none}.pill-option span,.question-radio-label span{display:block;border:1px solid #ded8d8;border-radius:999px;background:#fff;color:var(--color-text-main);cursor:pointer;font-size:.84rem;padding:9px 12px;transition:all .2s;text-align:center}.pill-option input:checked+span,.question-radio-label input:checked+span{border-color:#ead9d9;background:#f5e8e8;color:#4e5e4e;font-weight:600}.question-bank{display:grid;gap:14px}.question-card{border:1px solid var(--color-line);border-radius:14px;margin:0;padding:16px}.question-card legend{width:100%;margin-bottom:12px;color:var(--color-text-main);font-weight:500;line-height:1.45;text-align:center}.question-radio-group{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.question-radio-label span{border-radius:8px;min-height:42px;display:grid;place-items:center;font-size:.76rem;line-height:1.2;text-align:center}.question-radio-label:last-child{grid-column:1 / -1}.time-input{text-align:center}.form-actions{border-top:1px solid var(--color-line);display:flex;justify-content:flex-end;gap:12px;padding-top:20px;flex-wrap:wrap}.submit-btn,.secondary-btn{border-radius:10px;cursor:pointer;min-height:48px;padding:12px 22px;transition:all .3s ease}.submit-btn{border:1px solid #ead9d9;background:#f5e8e8;color:#4e5e4e;font-family:Lora,serif;font-size:1.02rem;font-weight:600}.submit-btn:hover,.secondary-btn:hover{background:#ead9d9;transform:translateY(-1px)}.secondary-btn{border:1px solid #ded8d8;background:#fff;color:#4e5e4e;font-weight:500}button:disabled{cursor:not-allowed;opacity:.52;transform:none!important}.lab-upload-shell{padding:24px}.lab-upload-layout{display:grid;grid-template-columns:minmax(260px,340px) minmax(0,1fr);gap:22px;align-items:start}.lab-upload-card,.lab-review-card,.lab-history-card{border:1px solid var(--color-line);border-radius:18px;background:#fff}.lab-upload-card{display:grid;gap:16px;padding:22px;text-align:center}.lab-upload-card h2,.lab-review-card h2{margin:0;color:#14532d;font-family:Lora,serif;font-size:1.45rem;font-weight:400;text-align:center}.drop-zone{min-height:174px;border:2px dashed #ead9d9;border-radius:16px;background:var(--color-soft);cursor:pointer;display:grid;gap:8px;place-items:center;padding:24px 18px;text-align:center;transition:all .25s ease}.drop-zone:hover{border-color:var(--color-accent);background:#fff}.drop-zone input{display:none}.drop-icon{width:46px;height:46px;border-radius:999px;display:grid;place-items:center;background:#fff;color:var(--color-accent)}.drop-icon svg{width:22px;height:22px}.drop-zone strong{color:var(--color-text-main);font-family:Lora,serif;font-size:1rem;font-weight:500;overflow-wrap:anywhere}.drop-zone small,.upload-status,.history-item span,.history-item small{color:var(--color-text-light);font-size:.78rem;line-height:1.45}.upload-status{min-height:62px}.upload-status p{margin:0 0 10px}.upload-status.error p{color:#b91c1c;font-weight:600}.upload-progress{height:8px;border-radius:999px;overflow:hidden;background:#f3f4f6}.upload-progress div{height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--color-accent),#e6c8c3);transition:width .25s ease}.lab-history-card{padding:16px}.lab-history-card h3{margin:0 0 10px;color:#14532d;font-family:Lora,serif;font-size:1rem;font-weight:500;text-align:center}.history-item{border:1px solid var(--color-line);border-radius:12px;display:flex;gap:10px;justify-content:space-between;padding:10px;text-align:left}.history-item+.history-item{margin-top:8px}.history-item strong,.history-item span{display:block}.empty-history{margin:0;color:#9ca3af;font-size:.82rem;font-style:italic;text-align:center}.lab-review-card{display:grid;gap:18px;padding:24px}.lab-date-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;align-items:end}.lab-checkbox-inline{grid-column:1 / -1;border:1px solid var(--color-line);border-radius:12px;color:var(--color-text-light);cursor:pointer;display:inline-flex;gap:8px;justify-content:center;padding:10px;text-align:center}.lab-checkbox-inline input{accent-color:#4e5e4e}.extraction-summary{border:1px solid #ead9d9;border-radius:14px;background:#fffaf8;display:grid;gap:4px;padding:14px;text-align:center}.extraction-summary strong{color:#14532d;font-family:Lora,serif;font-weight:500}.extraction-summary span{color:var(--color-text-light);font-size:.82rem}.empty-review{border:1px dashed #ead9d9;border-radius:14px;color:var(--color-text-light);display:grid;gap:10px;place-items:center;padding:34px 18px;text-align:center}.empty-review svg{width:34px;height:34px;color:var(--color-accent)}.lab-marker-groups{display:grid;gap:20px}.lab-marker-groups.muted{opacity:.62}.lab-marker-group h3{margin:0 0 10px;border-bottom:1px solid var(--color-line);color:#166534;font-family:Lora,serif;font-size:1.04rem;font-weight:500;padding-bottom:8px;text-align:center}.lab-marker-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.lab-marker-field{border:1px solid var(--color-line);border-radius:12px;background:#fff;display:grid;gap:7px;padding:12px;text-align:center}.lab-marker-field.prefilled{border-color:#bbf7d0;background:#f0fff4}.lab-marker-field span{color:#4e5e4e;font-size:.82rem;font-weight:600;line-height:1.3}.lab-input-wrap{position:relative}.lab-input-wrap input{width:100%;min-height:46px;border:1px solid #ded8d8;border-radius:10px;background:var(--color-soft);color:var(--color-text-main);padding:10px 74px 10px 12px;text-align:center}.lab-input-wrap input:focus{border-color:var(--color-accent);outline:none;box-shadow:0 0 0 3px #d4b5b029}.lab-input-wrap small{position:absolute;top:50%;right:8px;transform:translateY(-50%);max-width:62px;border-radius:7px;background:#fff;color:var(--color-text-light);font-size:.68rem;line-height:1.1;padding:4px 5px;text-align:center}.lab-marker-field em{color:#9ca3af;font-size:.7rem;font-style:normal;line-height:1.35}.lab-warning-modal{border-color:#fecaca}.lab-warning-modal .warning-copy{border:1px solid #fecaca;border-radius:14px;background:#fff1f2;color:#991b1b!important;padding:12px}@media(min-width:760px){.header-inner{flex-direction:row;justify-content:space-between;gap:20px}}@media(max-width:560px){.header-inner{padding:8px 16px}.brand-lockup{font-size:1.12rem}.auth-screen{padding:54px 16px 46px}.legacy-auth-card{padding:36px 24px 30px}.auth-copy h1{font-size:1.9rem}.auth-tabs{gap:34px}.home-view,.onboarding-stack,.legacy-dashboard-view{padding-left:16px;padding-right:16px}.legacy-dashboard-view{padding-top:28px}.legacy-dashboard-hero{margin-bottom:30px;display:grid;justify-items:center;text-align:center}.legacy-dashboard-grid,.legacy-two-grid,.legacy-two-grid.single{grid-template-columns:1fr}.onboarding-card,.checkin-card,.progress-card,.coach-chat-card,.rhythm-card,.full-row{grid-column:1}.card-heading-row,.section-line{align-items:center}.protocol-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.mini-chart{gap:8px}.legacy-feature-card{padding-right:36px}.progress-container{top:53px}.progress-inner{padding-left:16px;padding-right:16px}.progress-heading{align-items:center}.onboarding-intro h1{font-size:2rem}.step-card,.lab-card{grid-template-columns:1fr;padding:28px 22px;text-align:center}.step-badge{margin:0 auto}.step-title-row{display:grid;justify-items:center}.step-title-row h3,.step-content p{text-align:center}.btn-action,.btn-secondary{width:100%}.action-grid{grid-template-columns:1fr}.form-view{padding-left:12px;padding-right:12px}.form-shell,.form-section{padding:20px}.form-grid.two,.checkbox-grid,.checkbox-grid.compact,.lab-upload-layout,.lab-date-row,.lab-marker-grid,.question-radio-group{grid-template-columns:1fr}.question-radio-group{grid-template-columns:repeat(4,minmax(0,1fr))}.question-radio-label span{min-height:38px;padding:7px 4px;font-size:.62rem}.question-radio-label:last-child{grid-column:1 / -1}.form-actions{display:grid}.form-actions button{width:100%}}
