:root{font-family:Inter,system-ui,sans-serif;color:#172333;background:#f7fbfe;font-synthesis:none;--green: #2589c9;--green-dark: #16263a;--mint: #dff2fd;--mint-soft: #eff8fd;--coral: #2589c9;--cream: #f7fbfe;--line: #dce8ef;--muted: #62717f;--shadow: 0 18px 55px rgba(24, 71, 105, .1)}*{box-sizing:border-box}html,body,#root{max-width:100%;overflow-x:hidden}img{max-width:100%}html,body,#root{min-height:100%;margin:0}body{min-width:320px;background:#f7fbfe}button,input,textarea,select{font:inherit}button{cursor:pointer}button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid rgba(37,137,201,.22);outline-offset:2px}.brand{display:flex;align-items:center;gap:10px;font:700 25px/1 Playfair Display,serif;letter-spacing:-.035em;color:var(--green-dark)}.brand-mark{width:42px;height:42px;display:grid;place-items:center;flex:0 0 auto}.brand-mark img{width:100%;height:100%;display:block;object-fit:contain}.brand-dot{color:var(--coral)}.eyebrow{display:block;color:var(--green);font-size:.72rem;font-weight:800;letter-spacing:.11em;text-transform:uppercase}.eyebrow.white{color:#d9f1ff}.welcome-shell{min-height:100vh;min-height:100dvh;display:grid;grid-template-columns:minmax(0,1.08fr) minmax(400px,.92fr);background:#fff}.welcome-copy{min-height:100%;padding:54px clamp(42px,6vw,90px);color:#fff;display:flex;flex-direction:column;justify-content:space-between;position:relative;overflow:hidden;background:radial-gradient(circle at 84% 85%,rgba(255,255,255,.13),transparent 29%),linear-gradient(150deg,#16263a,#2589c9)}.welcome-copy:before,.welcome-copy:after{content:"";position:absolute;border:1px solid rgba(255,255,255,.1);border-radius:50%;width:420px;height:420px;right:-210px;top:-190px}.welcome-copy:after{width:280px;height:280px;inset:auto auto 80px -120px}.welcome-copy .brand{color:#fff;z-index:1}.welcome-message{max-width:650px;z-index:1}.pill{display:inline-flex;gap:7px;align-items:center;padding:8px 12px;border-radius:99px;font-size:.78rem;font-weight:700}.pill.light{background:#ffffff1a;border:1px solid rgba(255,255,255,.13)}.welcome-message h1{font:700 clamp(2.5rem,4.8vw,4.8rem)/1.03 "Playfair Display",serif;letter-spacing:-.045em;margin:25px 0 22px;max-width:780px}.welcome-message p{max-width:620px;font-size:1.16rem;line-height:1.65;color:#e0f3ff;margin:0}.welcome-note{z-index:1;display:flex;align-items:center;gap:10px;color:#e0f3ff;font-size:.82rem}.onboarding-card{width:min(560px,100%);align-self:center;justify-self:center;padding:54px clamp(32px,6vw,74px)}.mobile-brand{display:none}.login-heading h2,.terms-screen h2{font:700 clamp(1.8rem,3vw,2.45rem)/1.14 "Playfair Display",serif;letter-spacing:-.035em;margin:12px 0;color:#16263a}.login-heading>p,.terms-intro{color:var(--muted);line-height:1.55;margin:0 0 30px}.login-form{display:grid;gap:17px}.login-form label>span{display:block;font-size:.8rem;font-weight:800;margin-bottom:8px}.input-with-icon{position:relative}.input-with-icon>svg{position:absolute;left:15px;top:50%;transform:translateY(-50%);color:#789088;z-index:1}.input-with-icon input{padding-left:44px;padding-right:45px}.input-with-icon button{position:absolute;right:8px;top:50%;transform:translateY(-50%);width:37px;height:37px;display:grid;place-items:center;border:0;border-radius:10px;color:var(--muted);background:transparent}.forgot-button{justify-self:end;margin-top:-8px;border:0;background:transparent;color:var(--green);font-size:.76rem;font-weight:800}.auth-links{display:grid;justify-items:center;gap:10px;margin-top:22px;color:var(--muted);font-size:.78rem}.auth-links a{display:inline-flex;align-items:center;gap:6px;color:var(--green);font-weight:800;text-decoration:none}.field-help{display:block;margin-top:6px;color:var(--muted);font-size:.68rem}.compact-check{padding:13px;margin:0}.compact-check a,.terms-check a{color:var(--green)}.auth-success{display:grid;justify-items:start;gap:12px}.auth-success h2{font:700 clamp(1.8rem,3vw,2.45rem)/1.14 "Playfair Display",serif;margin:0}.auth-success p{color:var(--muted);line-height:1.6}.auth-success .primary-button{text-decoration:none}.auth-modal{display:grid;gap:13px}.form-alert{display:flex;gap:8px;align-items:flex-start;padding:11px 12px;border-radius:11px;font-size:.76rem;line-height:1.4}.form-alert svg{flex:0 0 auto}.form-alert.error{color:#a34d41;background:#fff0ed}.form-alert.success{color:var(--green);background:var(--mint-soft)}.demo-note{color:#8b714d;background:var(--cream);border:1px solid #f0e1c9;border-radius:11px;padding:10px 12px;margin:15px 0 0;font-size:.68rem;line-height:1.45;text-align:center}.terms-screen{max-height:calc(100vh - 80px);overflow-y:auto;padding-right:5px;scrollbar-width:thin}.terms-box{display:grid;gap:11px;padding:18px;border:1px solid var(--line);border-radius:15px;background:#f9fbf9;margin-bottom:15px}.terms-box h3{font:700 1.04rem Playfair Display,serif;margin:0 0 3px}.terms-box p{color:#5d746d;font-size:.77rem;line-height:1.5;margin:0}.terms-check{margin-top:0}.boot-screen{min-height:100vh;display:grid;place-content:center;justify-items:center;gap:24px;color:var(--green)}.step-dots{display:flex;gap:8px;margin-bottom:55px}.step-dots span{width:27px;height:5px;border-radius:99px;background:#e4ece8;transition:.25s ease}.step-dots span.active{width:42px;background:var(--coral)}.form-step{min-height:342px}.form-step h2,.page-heading h1,.wizard-page h1,.result-page h1{font:700 clamp(1.75rem,3vw,2.45rem)/1.14 "Playfair Display",serif;letter-spacing:-.035em;margin:12px 0;color:#16263a}.form-step>p{color:var(--muted);margin:0 0 34px;line-height:1.55}.field-label,.settings-form label>span{font-size:.82rem;font-weight:800;display:block;margin-bottom:9px}input,textarea,select{width:100%;border:1.5px solid var(--line);border-radius:15px;padding:15px 16px;color:#172333;background:#fbfdff;transition:border-color .2s,box-shadow .2s}input:focus,textarea:focus,select:focus{border-color:var(--green);box-shadow:0 0 0 4px #2589c917;outline:0}.primary-button,.secondary-button,.light-button{border:0;border-radius:14px;min-height:50px;display:inline-flex;align-items:center;justify-content:center;gap:9px;font-weight:800;transition:transform .2s,opacity .2s,background .2s}.primary-button{width:100%;padding:13px 20px;color:#fff;background:var(--green);box-shadow:0 12px 28px #2589c933}.primary-button:hover:not(:disabled){background:var(--green-dark);transform:translateY(-1px)}.primary-button:disabled{opacity:.38;cursor:not-allowed}.secondary-button{padding:12px 18px;color:var(--green);background:var(--mint-soft);border:1px solid #cfe8f6}.light-button{padding:13px 18px;color:var(--green-dark);background:#fff}.privacy-copy{text-align:center;color:#91a29d;font-size:.72rem;margin:14px 0 0}.back-link,.text-button{display:inline-flex;align-items:center;gap:6px;border:0;background:transparent;color:var(--muted);font-weight:700;padding:0;margin-bottom:25px}.choice-grid{display:grid;gap:10px}.choice-grid.two{grid-template-columns:repeat(2,1fr)}.choice-chip{min-height:51px;border:1.5px solid var(--line);background:#fff;border-radius:14px;color:#40566a;font-weight:700;display:flex;align-items:center;justify-content:center;gap:8px}.choice-chip.selected{border-color:var(--green);color:var(--green);background:var(--mint-soft)}.pronoun-grid{display:grid;gap:10px}.pronoun-option{min-height:64px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 15px;text-align:left;border:1.5px solid var(--line);border-radius:14px;color:#40566a;background:#fff;transition:.2s}.pronoun-option>span{display:grid;gap:3px}.pronoun-option strong{font-size:.9rem}.pronoun-option small{color:var(--muted);font-size:.73rem}.pronoun-option.selected{border-color:var(--green);color:var(--green);background:var(--mint-soft)}.pronoun-grid.compact{grid-template-columns:repeat(3,1fr)}.pronoun-grid.compact .pronoun-option{min-height:47px;justify-content:center;text-align:center;padding:9px}.check-row{display:flex;gap:13px;align-items:flex-start;padding:16px;border:1px solid var(--line);border-radius:15px;margin-bottom:12px;cursor:pointer}.check-row input{width:20px;height:20px;accent-color:var(--green);margin-top:1px}.check-row span{display:grid;gap:4px}.check-row small{color:var(--muted);line-height:1.4}.app-shell{min-height:100vh;display:flex}.sidebar{width:250px;position:fixed;inset:0 auto 0 0;z-index:30;background:#fff;border-right:1px solid var(--line);padding:29px 20px 22px;display:flex;flex-direction:column}.sidebar-top{display:flex;justify-content:space-between;align-items:center;padding:0 8px 36px}.sidebar nav{display:grid;gap:7px;overflow-y:auto;padding-right:3px;scrollbar-width:thin}.sidebar nav button{display:flex;align-items:center;gap:12px;width:100%;padding:12px 13px;border:0;border-radius:13px;color:#607181;font-weight:700;text-align:left;background:transparent}.sidebar nav button:hover{background:#f1f8fc;color:var(--green)}.sidebar nav button.active{background:var(--mint);color:var(--green-dark)}.sidebar-footer{margin-top:auto;display:grid;gap:10px}.sidebar-logout{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:10px;border:1px solid #dce8ee;border-radius:12px;color:#627989;background:#fff;font-size:.76rem;font-weight:800}.sidebar-logout:hover{color:#a85048;border-color:#e8c6c3;background:#fff8f7}.sidebar-safety{display:flex;gap:10px;padding:13px;background:var(--mint-soft);border:1px solid #d7ebf7;border-radius:14px;color:#315f7d}.sidebar-safety svg{flex:0 0 auto}.sidebar-safety div{display:grid;gap:4px}.sidebar-safety strong{font-size:.72rem}.sidebar-safety span{font-size:.65rem;line-height:1.35}.app-version{color:#91a5b2;font-size:.62rem;font-weight:700;text-align:center;letter-spacing:.02em}.app-main{flex:1;margin-left:250px;min-width:0;max-width:100%;overflow-x:hidden}.topbar{height:78px;position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:flex-end;padding:0 clamp(24px,4vw,54px);background:#ffffffe6;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border-bottom:1px solid rgba(220,232,239,.9)}.global-professional-note{min-height:38px;display:flex;align-items:center;justify-content:center;gap:8px;padding:8px 20px;color:#285f82;background:#eaf6fd;border-bottom:1px solid #d5ebf8;font-size:.72rem;font-weight:700;text-align:center}.topbar-title{display:none;align-items:center;gap:7px}.topbar-title img{width:30px;height:30px;object-fit:contain}.avatar{width:39px;height:39px;display:grid;place-items:center;border-radius:12px;background:var(--green);color:#fff;font-weight:800}.icon-button{width:40px;height:40px;display:grid;place-items:center;border:1px solid var(--line);border-radius:12px;background:#fff;color:var(--green-dark)}.mobile-only{display:none}.content{width:min(1120px,100%);padding:34px clamp(24px,4vw,54px) 70px;margin:0 auto}.page-stack{display:grid;gap:32px}.hero-card{min-height:250px;padding:clamp(28px,5vw,50px);border-radius:28px;color:#fff;background:linear-gradient(130deg,#1979b8,#3da6dd);position:relative;overflow:hidden;display:flex;align-items:center;box-shadow:0 22px 55px #2589c933}.hero-card:after{content:"";position:absolute;width:330px;height:330px;border-radius:50%;right:-80px;bottom:-185px;border:50px solid rgba(255,255,255,.06)}.hero-card>div:first-child{position:relative;z-index:2}.hero-card h1{font:700 clamp(1.85rem,3.5vw,3rem)/1.08 "Playfair Display",serif;letter-spacing:-.035em;max-width:650px;margin:10px 0 12px}.hero-card p{color:#e2f4ff;margin:0 0 24px}.hero-art{position:absolute;right:8%;color:#ffffffc2;display:flex;align-items:flex-start}.hero-art svg:last-child{margin-left:-10px;color:#ffc599}.section-heading{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:14px}.section-heading h2{font:700 1.35rem Playfair Display,serif;letter-spacing:-.02em;margin:7px 0 0}.symptom-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.symptom-grid button{min-height:88px;display:flex;flex-direction:column;justify-content:center;gap:7px;border:1px solid var(--line);border-radius:18px;background:#fff;color:#334f66;font-weight:700;box-shadow:0 8px 25px #1847690b;transition:.2s}.symptom-grid button:hover{border-color:#b7d6cb;transform:translateY(-2px);box-shadow:var(--shadow)}.symptom-grid button span{font-size:1.5rem}.dashboard-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.surface-card{padding:24px;border:1px solid var(--line);border-radius:22px;background:#fff;box-shadow:0 9px 34px #1847690e}.card-heading{display:flex;align-items:center;gap:12px}.card-heading h3{font:700 1.1rem Playfair Display,serif;letter-spacing:-.02em;margin:5px 0 0}.card-icon{width:44px;height:44px;border-radius:14px;display:grid;place-items:center;flex:0 0 auto}.card-icon.aqua{background:#e3f4fd;color:#2589c9}.card-icon.coral{background:#edf7fd;color:var(--coral)}.water-count{display:flex;align-items:baseline;gap:9px;margin:22px 0 5px}.water-count strong{font:700 2.7rem Playfair Display,serif;color:var(--green-dark)}.water-count span{color:var(--muted);font-size:.82rem}.water-drops{height:22px;display:flex;gap:4px;color:#3ba6dc;margin-bottom:18px}.hydration-card .secondary-button{width:100%}.hydration-card small{display:block;color:#879791;line-height:1.45;margin-top:12px}.mini-progress{margin-left:auto;background:var(--mint-soft);color:var(--green);padding:6px 9px;border-radius:9px;font-size:.75rem;font-weight:800}.meal-checks{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin:22px 0 17px}.meal-checks button{display:flex;align-items:center;gap:8px;border:1px solid var(--line);background:#fbfdfb;padding:11px;border-radius:12px;color:var(--muted);font-size:.82rem;font-weight:700}.meal-checks button>span{width:20px;height:20px;display:grid;place-items:center;border:1.5px solid #bfd0c9;border-radius:7px}.meal-checks button.done{background:var(--mint-soft);border-color:#c8e4da;color:var(--green)}.meal-checks button.done>span{background:var(--green);border-color:var(--green);color:#fff}.routine-card>p{font-size:.75rem;line-height:1.45;color:#879791;margin:0}.quick-idea{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:18px}.quick-idea h3{font:700 1.13rem Playfair Display,serif;margin:5px 0}.quick-idea p{margin:0;color:var(--muted);font-size:.86rem}.idea-visual{width:78px;height:78px;border-radius:20px;display:grid;place-items:center;color:#9c623e;background:linear-gradient(145deg,#fee7ce,#fff6e9)}.idea-visual span{font-size:.65rem;font-weight:800}.round-button{width:42px;height:42px;display:grid;place-items:center;border-radius:50%;border:0;background:var(--mint-soft);color:var(--green)}.narrow-page{width:min(720px,100%);margin:14px auto 0}.wizard-progress{height:7px;border-radius:99px;background:#e5ece8;margin-bottom:38px;overflow:hidden}.wizard-progress span{height:100%;display:block;border-radius:inherit;background:linear-gradient(90deg,var(--coral),#f2a56c);transition:width .3s}.wizard-helper,.page-heading p{color:var(--muted);line-height:1.55;margin:0}.option-list{display:grid;gap:12px;margin-top:34px}.option-list button{min-height:77px;display:flex;align-items:center;justify-content:space-between;text-align:left;padding:15px 18px;border:1.5px solid var(--line);border-radius:17px;color:#294b44;background:#fff;transition:.2s}.option-list button:hover,.option-list button.selected{border-color:var(--green);background:var(--mint-soft);transform:translate(3px)}.option-list button>span{display:grid;gap:4px}.option-list strong{font-size:.94rem}.option-list small{color:var(--muted)}.result-page{padding:32px;border-radius:25px;background:#fff;border:1px solid var(--line);box-shadow:var(--shadow)}.success-mark{width:58px;height:58px;display:grid;place-items:center;border-radius:18px;color:#fff;background:var(--green);margin-bottom:26px;box-shadow:0 12px 27px #11695c33}.result-description{color:var(--muted);font-size:1.04rem;line-height:1.65;white-space:pre-line}.result-meta,.tag-row{display:flex;flex-wrap:wrap;gap:8px;margin:19px 0 25px}.result-meta span,.tag-row span{display:inline-flex;align-items:center;gap:5px;padding:7px 10px;border-radius:9px;color:var(--green);background:var(--mint-soft);font-size:.75rem;font-weight:700}.gentle-tip,.source-note,.danger-info{display:flex;align-items:flex-start;gap:12px;padding:16px;border-radius:15px}.gentle-tip{background:#fff6ed;color:#8c5c3d}.gentle-tip svg,.source-note svg,.danger-info svg{flex:0 0 auto}.gentle-tip strong{font-size:.87rem}.gentle-tip p{margin:5px 0 0;font-size:.82rem;line-height:1.5}.source-note{background:#f7f9f7;color:var(--muted);margin-top:12px;font-size:.8rem;line-height:1.45}.button-row{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:24px}.result-page .text-button{margin:21px auto 0}.ai-loading{min-height:430px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:35px;border:1px solid var(--line);border-radius:24px;background:#fff}.ai-loading .bot-avatar{margin-bottom:18px}.ai-loading>.spin{color:var(--coral)}.ai-loading h1{font:700 1.5rem Playfair Display,serif;margin:18px 0 7px}.ai-loading p{color:var(--muted);margin:0}.chat-page{height:calc(100vh - 148px);height:calc(100dvh - 148px);display:flex;flex-direction:column;width:min(820px,100%);margin:0 auto;overflow:hidden}.chat-heading{display:flex;align-items:center;gap:12px;padding-bottom:18px;border-bottom:1px solid var(--line)}.bot-avatar{width:47px;height:47px;display:grid;place-items:center;border-radius:15px;background:linear-gradient(145deg,var(--green),#65b8e8);color:#fff}.chat-heading h1{font:700 1.18rem Playfair Display,serif;margin:0 0 3px}.chat-heading span{font-size:.72rem;color:var(--muted)}.chat-heading i{display:inline-block;width:7px;height:7px;margin-right:5px;border-radius:50%;background:#35b67b}.messages{flex:1;overflow-y:auto;display:flex;flex-direction:column;gap:12px;padding:23px 4px;scrollbar-width:thin}.message{max-width:78%;padding:13px 16px;border-radius:17px;font-size:.9rem;line-height:1.55;white-space:pre-line}.message p{margin:0}.message.assistant{align-self:flex-start;background:#fff;border:1px solid var(--line);border-top-left-radius:5px;color:#36564f}.message.user{align-self:flex-end;background:var(--green);color:#fff;border-top-right-radius:5px}.message.typing{display:flex;align-items:center;gap:8px;color:var(--muted)}.spin{animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.chat-bottom{padding-top:12px;background:#f7fbfe}.chat-bottom form{display:flex;align-items:center;gap:8px;padding:7px;background:#fff;border:1px solid var(--line);border-radius:18px;box-shadow:0 12px 35px #14453b14}.chat-bottom input{border:0;box-shadow:none;background:transparent;padding:10px}.chat-bottom form button{width:43px;height:43px;flex:0 0 auto;display:grid;place-items:center;border:0;border-radius:13px;color:#fff;background:var(--green)}.chat-bottom form button:disabled{opacity:.35}.chat-bottom>p{display:flex;align-items:center;justify-content:center;gap:6px;color:#869790;font-size:.68rem}.page-heading{margin-bottom:29px}.page-heading h1{margin-bottom:10px}.library-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:17px}.recipe-card{overflow:hidden;border:1px solid var(--line);border-radius:22px;background:#fff;box-shadow:0 9px 34px #14453b0b}.recipe-cover{height:138px;display:flex;align-items:center;justify-content:space-between;padding:25px;color:#62472f}.recipe-cover span{align-self:flex-start;padding:6px 8px;border-radius:8px;background:#ffffffa6;font-size:.68rem;font-weight:800}.cover-1{background:linear-gradient(135deg,#cfe7e2,#ecf6ef);color:var(--green)}.cover-2{background:linear-gradient(135deg,#f4d3c0,#fff0e6);color:#a45742}.cover-3{background:linear-gradient(135deg,#e9dce9,#faf0f8);color:#795878}.cover-4{background:linear-gradient(135deg,#f5e5bd,#fff5db);color:#9c742f}.recipe-body{padding:20px}.recipe-meta{display:flex;justify-content:space-between;gap:8px;color:#7d8f89;font-size:.67rem;font-weight:700}.recipe-meta span{display:flex;align-items:center;gap:4px}.recipe-body h2{font:700 1.22rem/1.25 Playfair Display,serif;letter-spacing:-.02em;margin:13px 0 8px}.recipe-body>p{min-height:58px;color:var(--muted);font-size:.81rem;line-height:1.5;margin:0;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden;white-space:pre-line}.recipe-body .tag-row{margin:14px 0}.recipe-body button{width:100%;min-height:41px;display:flex;align-items:center;justify-content:center;gap:7px;border:1px solid #cfe4dc;border-radius:12px;color:var(--green);background:var(--mint-soft);font-weight:800;font-size:.78rem}.recipe-body button.saved{color:#fff;background:var(--green)}.recipe-meta .favorite-button{width:34px;min-height:30px;margin-left:auto;border-color:#e0e8ec;background:#fff;color:#93a2aa}.recipe-meta .favorite-button.active{color:#dd6c72;border-color:#f1cdd0;background:#fff4f5}.recipe-rating{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px;margin:0 0 10px;border-radius:12px;background:#f6fafc}.recipe-rating>span{color:var(--muted);font-size:.7rem;font-weight:700}.recipe-rating>div{display:flex;gap:4px}.recipe-rating button{width:31px;min-height:31px;padding:0;border-color:transparent;background:transparent;font-size:1rem;filter:grayscale(1);opacity:.65}.recipe-rating button.active{color:inherit;background:#e5f4fc;border-color:#b9dff2;filter:none;opacity:1}.recipe-body button.view-recipe{margin-bottom:9px;background:#fff;border-color:#b8d9ed;color:#2479ae}.home-recipes{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.home-recipes button{min-height:82px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px;text-align:left;border:1px solid var(--line);border-radius:16px;background:#fff;color:var(--green-dark)}.home-recipes button span{display:grid;gap:5px}.home-recipes small{color:var(--muted)}.recipe-section{padding:20px 0;border-top:1px solid var(--line)}.recipe-section h2,.privacy-controls h2,.history-day h2,.empty-history h2{font:700 1.2rem Playfair Display,serif;margin:0 0 13px}.recipe-section ul,.recipe-section ol{display:grid;gap:10px;padding-left:22px;color:#526b7d;line-height:1.5}.recipe-reminders{display:grid;gap:8px;margin-top:14px}.recipe-reminders p{display:flex;align-items:flex-start;gap:9px;margin:0;padding:12px;border-radius:12px;background:#edf8fe;color:#285f82;font-size:.82rem}.detail-save{width:100%;margin-top:18px}.health-options{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:25px 0}.health-options label{display:flex;gap:10px;min-height:72px;padding:13px;border:1.5px solid var(--line);border-radius:14px;background:#fff;cursor:pointer}.health-options label.selected{border-color:var(--green);background:var(--mint-soft)}.health-options input{width:18px;height:18px;accent-color:var(--green)}.health-options span{display:grid;gap:4px}.health-options small{color:var(--muted);line-height:1.35}.health-check .field-label{display:grid;gap:8px;margin-bottom:16px}.health-confirm{background:#fff;margin-top:20px}.history-list{display:grid;gap:13px}.history-day{display:grid;grid-template-columns:1fr auto;align-items:center;gap:15px}.history-day h2{margin:5px 0 0;text-transform:capitalize}.history-metrics{display:flex;gap:10px}.history-metrics>span{min-width:92px;display:grid;grid-template-columns:auto auto;align-items:center;gap:3px 8px;padding:11px;border-radius:13px;background:#edf8fe;color:#2589c9}.history-metrics small{grid-column:1 / -1;color:var(--muted)}.history-meals{grid-column:1 / -1;display:flex;flex-wrap:wrap;gap:7px}.history-meals span{display:flex;align-items:center;gap:4px;padding:6px 9px;border-radius:8px;color:#93a2aa;background:#f2f5f6;font-size:.72rem}.history-meals span.done{color:var(--green);background:var(--mint-soft)}.empty-history{text-align:center;color:var(--muted)}.privacy-controls{margin-top:19px}.privacy-controls p{color:var(--muted);line-height:1.5}.danger-button{color:#a85048;border-color:#e8c6c3}.privacy-link{width:100%;text-decoration:none;margin-top:8px}.install-card{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:15px;padding:20px;border:1px solid #cfe5f2;border-radius:18px;color:#285f82;background:#edf8fe}.install-card>svg{color:var(--green)}.install-card p{margin:5px 0 0;color:var(--muted);font-size:.77rem;line-height:1.45}.support-page{display:grid;gap:20px}.support-faq h2,.feedback-form h2{font:700 1.25rem Playfair Display,serif;margin:0 0 15px}.support-faq details{padding:13px 0;border-top:1px solid var(--line)}.support-faq summary{cursor:pointer;color:var(--green-dark);font-weight:800}.support-faq details p{margin:9px 0 0;color:var(--muted);line-height:1.55;font-size:.82rem}.feedback-form{position:relative}.character-count{justify-self:end;color:var(--muted);margin-top:-12px}.support-email{margin:0;text-align:center;color:var(--muted);font-size:.75rem}.support-email a{color:var(--green)}.legal-page{min-height:100vh;padding:24px;background:#f7fbfe}.legal-page>header{width:min(900px,100%);margin:0 auto 20px;display:flex;align-items:center;justify-content:space-between;gap:15px}.legal-page>header .secondary-button{text-decoration:none}.legal-page article{width:min(900px,100%);margin:0 auto;padding:clamp(24px,5vw,52px);border:1px solid var(--line);border-radius:24px;background:#fff;box-shadow:var(--shadow)}.legal-page h1{font:700 clamp(2rem,5vw,3.2rem)/1.08 "Playfair Display",serif;color:var(--green-dark)}.legal-lead{font-size:1.05rem}.legal-page section{padding:20px 0;border-top:1px solid var(--line)}.legal-page h2{font:700 1.2rem Playfair Display,serif;color:var(--green-dark)}.legal-page p,.legal-page li{color:var(--muted);line-height:1.7}.legal-page a{color:var(--green)}.pantry-form{display:grid;gap:17px}.pantry-choice{margin:25px 0 15px}.pantry-continue{margin-top:17px}.pantry-form label{display:grid;gap:8px;font-size:.82rem;font-weight:800}.pantry-form textarea{resize:vertical}.pantry-chips{display:flex;flex-wrap:wrap;gap:7px}.pantry-chips span{padding:7px 10px;border-radius:9px;color:var(--green);background:var(--mint-soft);font-size:.74rem;font-weight:700}.report-toolbar{display:flex;align-items:center;gap:10px;margin-top:18px}.report-toolbar select{max-width:210px}.report-toolbar .primary-button{width:auto}.print-report{color:#243f53}.print-report>header{display:flex;align-items:center;justify-content:space-between;padding-bottom:20px;border-bottom:2px solid #dcebf3}.print-report>header .brand{font-size:1.35rem}.print-report>header>div{display:grid;gap:4px;text-align:right}.print-report>header span{color:var(--muted);font-size:.72rem}.print-report section{padding:22px 0;border-bottom:1px solid var(--line)}.print-report section h2,.admin-events h2{font:700 1.2rem Playfair Display,serif;margin:0 0 15px}.report-profile{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.report-profile div{display:grid;gap:5px}.report-profile small{color:var(--muted)}.report-metrics,.admin-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.report-metrics div{display:grid;gap:5px;padding:16px;border-radius:14px;background:#eff8fd;color:#267fb8}.report-metrics svg{width:20px}.report-metrics strong{font:700 1.55rem Playfair Display,serif}.report-metrics span{color:var(--muted);font-size:.7rem}.print-report table,.admin-events table{width:100%;border-collapse:collapse;font-size:.77rem}.print-report th,.print-report td,.admin-events th,.admin-events td{padding:10px;text-align:left;border-bottom:1px solid var(--line)}.print-report th,.admin-events th{color:var(--muted);font-size:.68rem;text-transform:uppercase}.print-report footer{padding-top:20px;color:var(--muted);font-size:.7rem;line-height:1.5}.admin-metrics{grid-template-columns:repeat(4,1fr)}.admin-metrics article{display:grid;gap:7px;padding:21px;border:1px solid var(--line);border-radius:18px;background:#fff;box-shadow:0 8px 25px #1847690b}.admin-metrics article>span{color:var(--muted);font-size:.75rem;font-weight:700}.admin-metrics strong{font:700 1.65rem Playfair Display,serif;color:var(--green-dark)}.admin-metrics small{color:#8da0aa}.admin-section-title{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin-bottom:18px}.admin-section-title h2{margin:4px 0 0;font:700 1.25rem Playfair Display,serif}.admin-section-title>span{color:var(--muted);font-size:.72rem;font-weight:700}.admin-budget,.admin-feedback{padding:22px}.usage-progress{height:10px;overflow:hidden;border-radius:99px;background:#e6f1f7}.usage-progress i{display:block;height:100%;min-width:3px;border-radius:inherit;background:linear-gradient(90deg,var(--green),#43a7df);transition:width .25s ease}.budget-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:18px}.budget-grid div{display:grid;gap:5px;padding:14px;border-radius:13px;background:#f5fafc}.budget-grid small{color:var(--muted)}.budget-grid strong{color:var(--green-dark)}.feedback-list{display:grid;gap:12px}.feedback-item{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding:16px;border:1px solid var(--line);border-radius:15px}.feedback-copy{min-width:0}.feedback-copy p{margin:10px 0 7px;color:var(--ink);line-height:1.5;overflow-wrap:anywhere}.feedback-copy>small{color:#8da0aa}.feedback-meta{display:flex;align-items:center;flex-wrap:wrap;gap:8px;color:var(--muted);font-size:.7rem}.feedback-category{padding:5px 8px;border-radius:7px;color:#2a789f;background:#eaf7fd;font-weight:800}.feedback-category.problema{color:#a85048;background:#fff0ef}.feedback-category.sugestao{color:#6e5a14;background:#fff8d9}.feedback-category.elogio{color:var(--green);background:var(--mint-soft)}.feedback-status{display:grid;flex:0 0 140px;gap:5px;color:var(--muted);font-size:.7rem;font-weight:700}.feedback-status select{min-height:40px;padding:8px 10px;border:1px solid var(--line);border-radius:10px;color:var(--ink);background:#fff}.empty-inline{margin:4px 0;color:var(--muted)}.preview-badge,.status-active,.status-inactive{display:inline-flex;width:fit-content;padding:6px 9px;border-radius:8px;font-size:.68rem;font-weight:800}.preview-badge,.status-active{color:var(--green);background:var(--mint-soft)}.status-inactive{color:#a85048;background:#fff0ef}.table-wrap{overflow-x:auto}.settings-form{display:grid;gap:18px;padding:25px;border:1px solid var(--line);border-radius:22px;background:#fff;box-shadow:var(--shadow)}.settings-form label{display:block}.settings-group>span{font-size:.82rem;font-weight:800;display:block;margin-bottom:9px}.settings-form textarea{resize:vertical}.success-toast{display:flex;align-items:center;gap:7px;padding:11px 13px;border-radius:12px;color:var(--green);background:var(--mint-soft);font-size:.8rem;font-weight:700}.danger-info{margin-top:19px;color:#8b5b40;background:#fff4ea;font-size:.82rem;line-height:1.5}.danger-info p{margin:4px 0 0}.logout-button{width:100%;margin-top:18px}.modal-layer{position:fixed;inset:0;z-index:60;display:grid;place-items:center;padding:20px}.modal-backdrop,.menu-backdrop{position:absolute;inset:0;border:0;background:#08241f78;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.modal-card{width:min(470px,100%);position:relative;z-index:1;padding:31px;border-radius:24px;background:#fff;box-shadow:0 30px 80px #052a233d}.modal-close{position:absolute;top:16px;right:16px;width:36px;height:36px;display:grid;place-items:center;border:0;border-radius:11px;background:#f1f5f2;color:var(--muted)}.modal-icon{width:54px;height:54px;display:grid;place-items:center;border-radius:17px;color:#b65a45;background:#fff0e9;margin-bottom:22px}.modal-card h2{font:700 1.7rem Playfair Display,serif;letter-spacing:-.025em;margin:8px 0 10px}.modal-card>p{color:var(--muted);line-height:1.58}.warning-box{display:flex;align-items:flex-start;gap:9px;padding:12px;border-radius:12px;color:#9b5949;background:#fff0ed;font-size:.76rem;line-height:1.4;margin:17px 0}.warning-box svg{flex:0 0 auto}@media(max-width:850px){.welcome-shell{grid-template-columns:1fr;background:#f7fbfe}.welcome-copy{min-height:auto;padding:35px 25px 42px}.welcome-copy>.brand,.welcome-note{display:none}.welcome-message h1{font-size:clamp(2rem,9vw,3rem);margin-top:18px}.welcome-message p{font-size:.95rem}.onboarding-card{padding:34px 25px 45px}.mobile-brand{display:block;margin-bottom:38px}.step-dots{margin-bottom:35px}.form-step{min-height:315px}.terms-screen{max-height:none;overflow:visible}.sidebar{width:min(300px,88vw);transform:translate(-104%);transition:transform .25s ease;box-shadow:20px 0 50px #07302926;padding-left:max(20px,env(safe-area-inset-left));padding-bottom:max(18px,env(safe-area-inset-bottom))}.sidebar.open{transform:translate(0)}.menu-backdrop{position:fixed;z-index:25}.app-main{margin-left:0}.mobile-only{display:grid}.topbar{height:70px;justify-content:space-between;padding:0 18px}.topbar-title{display:flex;text-align:center}.topbar-title strong{font:700 .98rem Playfair Display,serif;color:var(--green-dark)}.content{padding:22px 17px 55px}.hero-art{display:none}.symptom-grid{grid-template-columns:repeat(2,1fr)}.dashboard-grid,.library-grid,.home-recipes{grid-template-columns:1fr}.admin-metrics,.budget-grid{grid-template-columns:1fr 1fr}.chat-page{height:calc(100dvh - 124px)}}@media(max-width:520px){.choice-grid.two,.button-row{grid-template-columns:1fr}.form-step{min-height:360px}.hero-card{min-height:300px;padding:29px 24px;align-items:flex-start}.hero-card h1{font-size:2rem}.hero-card .light-button{width:100%}.symptom-grid button{min-height:78px;font-size:.8rem}.surface-card{padding:20px}.quick-idea{grid-template-columns:auto 1fr}.quick-idea .round-button{display:none}.idea-visual{width:62px;height:62px}.result-page{padding:24px 20px}.message{max-width:90%}.modal-card{padding:27px 22px}.modal-layer{align-items:end;padding:10px}.modal-card{max-height:calc(100dvh - 20px);overflow-y:auto;border-radius:22px 22px 14px 14px}.pronoun-grid.compact,.health-options,.history-day{grid-template-columns:1fr}.history-metrics,.history-meals{grid-column:1}.report-profile,.report-metrics{grid-template-columns:1fr}.report-toolbar{align-items:stretch;flex-direction:column}.report-toolbar select,.report-toolbar .primary-button{width:100%;max-width:none}.admin-metrics{grid-template-columns:1fr}.budget-grid{grid-template-columns:1fr 1fr}.admin-section-title,.feedback-item{align-items:stretch;flex-direction:column}.feedback-status{flex-basis:auto;width:100%}.content{padding-left:14px;padding-right:14px}.global-professional-note{padding:7px 12px;font-size:.65rem}.recipe-body{padding:17px}.recipe-rating{align-items:flex-start;flex-direction:column}.recipe-rating>div{width:100%;justify-content:space-between}.recipe-rating button{min-height:38px;flex:1}.history-metrics{display:grid;grid-template-columns:1fr 1fr;width:100%}.history-metrics>span{min-width:0}.install-card{grid-template-columns:auto 1fr}.install-card .secondary-button{grid-column:1 / -1;width:100%}.legal-page{padding:12px}.legal-page>header{padding:4px}.legal-page>header .brand{font-size:20px}.legal-page article{padding:24px 18px;border-radius:18px}.auth-links{margin-top:18px}.print-report>header{align-items:flex-start;flex-direction:column;gap:12px}.print-report>header>div{text-align:left}.print-report table{display:block;overflow-x:auto;white-space:nowrap}}@media(max-width:850px)and (max-height:650px){.sidebar-top{padding-bottom:14px}.sidebar-safety{display:none}.sidebar-footer{gap:6px}}@media print{@page{size:A4;margin:14mm}body{background:#fff}.sidebar,.topbar,.global-professional-note,.report-actions{display:none!important}.app-main{margin:0}.content{width:100%;max-width:none;padding:0}.print-report{border:0;box-shadow:none;padding:0}.print-report section{break-inside:avoid}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}}
