:root{--sage-green:#a8c3a0;--soft-cream:#f7f8f3;--deep-teal:#205e59;--mist-gray:#e5eae4;--charcoal:#243432;--paper:#fffefa;--card-bg:#fffefaeb;--shadow-soft:0 8px 24px #205e5914;--shadow-deep:0 18px 42px #205e5924;--brand-gradient:linear-gradient(135deg, #dcebd8 0%, #f7f8f3 100%);--accent-coral:#dc765b;--accent-sky:#4aa9a2;--line:#205e5921;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-7:32px;--radius-sm:10px;--radius-md:16px;--radius-lg:24px;--ease:cubic-bezier(.22, 1, .36, 1);--duration:.22s;color:var(--charcoal);background:var(--soft-cream);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Avenir Next,Nunito Sans,Segoe UI,sans-serif;font-weight:400;line-height:1.5}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:radial-gradient(circle at 8% 0%, #dcebd8b8, transparent 28rem), var(--soft-cream);min-width:320px;min-height:100vh;color:var(--charcoal);margin:0}#root{min-height:100vh}button,input,textarea,select{font:inherit}button,select,input,textarea{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline-offset:2px;outline:3px solid #4aa9a266}h1,h2,h3,p{margin:0}h1,h2,h3{color:var(--deep-teal);letter-spacing:-.03em;font-weight:700}h1{font-size:clamp(2rem,8vw,3rem);line-height:1.15}h2{font-size:clamp(1.25rem,4vw,1.65rem);line-height:1.2}h3{font-size:18px;line-height:1.3}p{color:var(--charcoal);font-size:16px;line-height:1.6}small{font-size:14px}.logo-full,.logo-stacked{align-items:center;gap:14px;display:inline-flex}.logo-stacked{flex-direction:column;justify-content:center}.logo-full{flex-direction:row}.logo-sidebar{object-fit:contain;width:min(100%,210px);height:auto;display:block}.logo-full-mark,.logo-stacked-mark{object-fit:contain;width:64px;height:64px}.logo-full-wordmark,.logo-stacked-wordmark{object-fit:contain;max-width:100%;height:auto}.logo-full-wordmark{width:min(420px,48vw)}.logo-stacked-wordmark{width:min(300px,75vw)}.app-shell{min-height:100vh;color:var(--charcoal);background:linear-gradient(#f8f6f2 0%,#f1f5f0 100%);display:flex}.sidebar{background:#ffffffb3;border-right:1px solid #2e5e4e14;width:260px;padding:28px 20px}.sidebar-brand{align-items:center;margin-bottom:28px;padding:8px 4px;display:flex}.sidebar-logo{object-fit:contain;width:100%;max-width:210px;height:auto}.nav{flex-direction:column;gap:8px;display:flex}.nav-link{color:#375a4c;border-radius:12px;padding:12px 14px;font-weight:600;text-decoration:none;transition:all .2s}.nav-link:hover,.nav-link.active{color:var(--deep-teal);background:#a8c3a038}.content{flex:1;padding:32px}.page-shell{max-width:900px;box-shadow:var(--shadow-soft);background:#ffffff80;border:1px solid #2e5e4e14;border-radius:18px;margin:0 auto;padding:32px}.page-shell h1{margin-bottom:12px}.page-shell p{color:#333c}.page-content{max-width:1120px;margin:0 auto}.mood-check-in{margin:24px 0}.mood-check-in textarea{resize:vertical;width:100%}.mood-check-in-footer,.settings-save-row{justify-content:space-between;align-items:center;gap:16px;margin-top:18px;display:flex}.settings-page-save{border-top:1px solid var(--line);justify-content:flex-end;margin-top:24px;padding-top:20px;display:flex}.settings-form-grid,.focus-area-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;display:grid}.settings-form-grid{align-items:center;width:min(100%,760px);margin-inline:auto}.settings-form-grid label{text-align:center;align-content:center;justify-items:center}.settings-form-grid select{width:100%;min-height:44px}.focus-area-fieldset{border:1px solid #2e5e4e1f;border-radius:10px;width:min(100%,760px);margin:20px auto 0;padding:14px}.focus-area-fieldset legend{color:var(--deep-teal);padding:0 6px;font-weight:700}.focus-area-grid{grid-template-columns:repeat(3,minmax(0,1fr));align-items:center}@media (width<=720px){.settings-form-grid,.focus-area-grid{grid-template-columns:1fr}.mood-check-in-footer,.settings-save-row,.settings-page-save{flex-direction:column;align-items:stretch}.settings-page-save .ui-button{width:100%}}.food-search-overlay{z-index:20;background:#192b2461;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.food-search-popup{background:#fffdf9;border:1px solid #2e5e4e24;border-radius:16px;width:min(760px,100%);max-height:min(760px,90vh);padding:26px;overflow:auto;box-shadow:0 24px 80px #192b2438}.repeat-meal-dialog{background:#fffdf9;border:1px solid #2e5e4e24;border-radius:16px;width:min(480px,100%);padding:26px;box-shadow:0 24px 80px #192b2438}.repeat-date-options{border:1px solid #2e5e4e1f;border-radius:10px;gap:10px;margin:0 0 18px;padding:14px;display:grid}.repeat-date-options legend{color:var(--deep-teal);padding:0 5px;font-weight:700}.choice-row{align-items:center;gap:8px;display:flex}.calendar-trigger{min-height:42px;color:var(--deep-teal);cursor:pointer;background:#ffffffb8;border:1px solid #2e5e4e29;border-radius:10px;align-items:center;gap:10px;padding:10px 14px;font-weight:700;display:inline-flex}.calendar-overlay{z-index:21;background:#192b2461;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.calendar-popup{background:#fffdf9;border-radius:16px;width:min(430px,100%);padding:22px;box-shadow:0 24px 80px #192b2438}.calendar-header,.calendar-actions{justify-content:space-between;align-items:center;gap:12px;display:flex}.calendar-header h2{margin:0;font-size:1.05rem}.calendar-weekdays,.calendar-grid{text-align:center;grid-template-columns:repeat(7,1fr);gap:6px;margin-top:18px;display:grid}.calendar-weekdays{color:#33333394;font-size:.78rem;font-weight:700}.calendar-grid button{aspect-ratio:1;color:var(--charcoal);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:8px;position:relative}.calendar-grid button:hover,.calendar-grid button.selected-day{border-color:var(--deep-teal);background:#a8c3a047}.calendar-grid button.outside-month{color:#3333334d}.calendar-grid button.has-meals:after{content:"";background:#c77d54;border-radius:50%;width:5px;height:5px;position:absolute;bottom:5px;left:50%;transform:translate(-50%)}.calendar-actions{justify-content:flex-end;margin-top:20px}.history-heading{width:100%;color:inherit;text-align:left;cursor:pointer;background:0 0;border:0;justify-content:space-between;align-items:center;padding:0;display:flex}.history-heading h2{margin:0}.meal-history-page{gap:18px;display:grid}.food-search-popup-header,.food-search-result{justify-content:space-between;align-items:flex-start;gap:18px;display:flex}.food-search-popup-header{margin-bottom:20px}.food-search-popup-header h2,.food-search-result h3{margin:0}.food-search-popup-input{margin-bottom:14px}.food-search-results{gap:10px;margin:16px 0;display:grid}.food-search-result{background:#f1f5f085;border:1px solid #2e5e4e1f;border-radius:10px;align-items:center;padding:16px}.food-search-result p,.food-search-result small{color:#333333b3;margin:4px 0 0;display:block}.food-search-macros{color:var(--deep-teal);flex-wrap:wrap;justify-content:flex-end;gap:6px 12px;font-size:.86rem;display:flex}@media (width<=680px){.food-search-result{display:grid}.food-search-macros{justify-content:flex-start}.menu-grid,.menu-day-grid,.menu-suggestion-list{grid-template-columns:1fr}}.menu-page,.menu-grid,.menu-day-grid,.menu-suggestion-list,.shopping-list,.recipe-library-page,.recipe-controls,.recipe-results,.recipe-card,.recipe-form,.recipe-detail-sheet{box-sizing:border-box}.menu-page{gap:20px;display:grid}.menu-grid{grid-template-columns:1.4fr .9fr}.menu-day-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.menu-day-card{color:var(--charcoal);text-align:left;cursor:pointer;background:#ffffff9e;border:1px solid #2e5e4e1f;border-radius:12px;gap:6px;padding:14px 16px;transition:border-color .2s,background .2s;display:grid}.menu-day-card:hover{border-color:var(--deep-teal);background:#a8c3a02e}.menu-day-card strong{color:var(--deep-teal)}.menu-day-card span,.menu-day-card small{color:#333333b8}.shopping-list{gap:10px;margin:0;padding-left:18px;display:grid}.shopping-list li{flex-direction:column;gap:4px;line-height:1.45;display:flex}.shopping-list small{color:#333333b3}.menu-suggestion-list{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;display:grid}.menu-suggestion-item{background:#f1f5f09e;border:1px solid #2e5e4e1f;border-radius:12px;gap:8px;padding:16px;display:grid}.menu-suggestion-item strong{color:var(--deep-teal)}.menu-suggestion-item p:last-child{color:#333333bf;margin:0}.recipe-library-page{gap:20px;display:grid}.recipe-controls{background:#ffffffa3;border:1px solid #2e5e4e1a;border-radius:14px;gap:12px;padding:18px;display:grid}.search-row{align-items:center;gap:12px;display:flex}.search-row input,.field input,.field select,.field textarea,.ingredient-row input{width:100%;color:var(--charcoal);background:#ffffffdb;border:1px solid #2e5e4e1f;border-radius:10px;padding:10px 12px}.recipe-snack-options{background:#ffffff80;border:1px solid #2e5e4e1a;border-radius:10px;gap:8px;max-height:150px;padding:10px;display:grid;overflow-y:auto}.nutrition-lookup-panel{background:#a8c3a01a;border:1px solid #2e5e4e1f;border-radius:10px;gap:8px;padding:14px;display:grid}.nutrition-lookup-panel .supportive-copy,.nutrition-lookup-panel .macro-summary{margin:0}.tag-filter-group,.tag-row{flex-wrap:wrap;gap:8px;display:flex}.tag-toggle,.tag-chip{min-height:28px;color:var(--deep-teal);background:#a8c3a024;border:1px solid #2e5e4e1f;border-radius:999px;align-items:center;padding:6px 10px;font-size:11px;font-weight:700;display:inline-flex}.tag-toggle.selected{border-color:var(--deep-teal);background:#3862541f}.recipe-results{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;display:grid}.recipe-card{gap:14px;display:grid}.recipe-card-header{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.recipe-card-header h3{margin:4px 0 0}.macro-summary{color:var(--deep-teal);flex-wrap:wrap;gap:8px 12px;font-size:.86rem;font-weight:700;display:flex}.card-actions,.form-actions{flex-wrap:wrap;justify-content:flex-end;gap:10px;display:flex}.recipe-form{gap:18px;padding:20px;display:grid}.field{gap:8px;display:grid}.ingredient-list{gap:12px;display:grid}.ingredient-row{grid-template-columns:2fr 120px 110px;gap:8px;display:grid}.checkbox-row{color:#333c;align-items:flex-start;gap:10px;display:flex}.contributor-badge{border:1px solid #0000;border-radius:999px;justify-content:center;align-items:center;min-height:28px;padding:5px 10px;font-size:11px;font-weight:700;display:inline-flex}.badge-user{color:#1f4d67;background:#457b9d26}.badge-community{color:#4f3d7b;background:#7a5cad26}.badge-steady{color:#2d5a3d;background:#5a8d6626}.badge-ai{color:#7a4726;background:#c87c4c24}.list-inline{color:#333c;gap:4px;margin:0;padding-left:18px;display:grid}.detail-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;display:grid}.recipe-detail-sheet{gap:16px;display:grid}.recipe-dialog-overlay{z-index:20;background:#24302b61;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.recipe-detail-sheet,.recipe-menu-dialog{background:var(--paper);width:min(680px,100%);max-height:min(760px,100vh - 48px);overflow-y:auto}.recipe-menu-dialog{gap:18px;display:grid}.date-picker-row{align-items:center;gap:10px;display:flex}.date-picker-row input{flex:1}.success-text{color:var(--deep-teal);margin:0;font-weight:700}.menu-log-message{border-radius:var(--radius-sm);background:#dcebd880;border:1px solid #205e5924;padding:12px 14px}.menu-log-button{width:100%;min-height:44px}.page-header{justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:28px;display:flex}.page-header h1{margin-bottom:8px}.page-intro,.muted,small{color:#333333a8}.dashboard-overview{grid-template-columns:2fr repeat(3,1fr);margin-bottom:20px}.welcome-card{min-height:206px}.welcome-card h2{max-width:420px;margin-bottom:10px}.welcome-card p:not(.label){max-width:430px}.focus-progress{background:#ffffffbf;border-radius:99px;width:min(320px,100%);height:8px;margin:22px 0 8px;overflow:hidden}.focus-progress span{border-radius:inherit;background:var(--deep-teal);height:100%;display:block}.stat-card strong{color:var(--deep-teal);margin:16px 0 12px;font-size:2rem;line-height:1;display:block}.stat-card strong small{font-size:.85rem;font-weight:500}.content-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-bottom:20px;display:grid}.section-heading,.planner-toolbar{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:20px;display:flex}.section-heading h2,.planner-toolbar h2{margin-top:2px}.date-pill,.trend{min-height:28px;color:var(--deep-teal);background:#a8c3a033;border-radius:99px;align-items:center;padding:5px 10px;font-size:12px;font-weight:700;display:inline-flex}.trend.positive{color:#467148}.mood-grid{grid-template-columns:repeat(4,1fr);gap:8px;margin:18px 0;display:grid}.mood-option,.secondary-button,.ghost-button,.add-row,.idea-list button{color:var(--deep-teal);cursor:pointer;background:#ffffffa6;border:1px solid #2e5e4e29;border-radius:10px;font-weight:700;transition:background .2s,border-color .2s,transform .2s}.mood-option{gap:4px;padding:10px 6px;font-size:12px;display:grid}.mood-option span{font-size:20px}.mood-option:hover,.mood-option.selected,.secondary-button:hover,.ghost-button:hover,.add-row:hover,.idea-list button:hover{border-color:var(--deep-teal);background:#a8c3a033}.symptom-tracker{border-top:1px solid #2e5e4e1a;margin:22px 0 18px;padding-top:18px}.symptom-heading{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:14px;display:flex}.symptom-heading h3{margin-top:2px;font-size:16px}.symptom-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.symptom-option{min-height:40px;color:var(--charcoal);cursor:pointer;text-align:left;background:#ffffff8f;border:1px solid #2e5e4e24;border-radius:8px;align-items:center;gap:8px;padding:8px 10px;font-size:13px;transition:background .2s,border-color .2s;display:flex}.symptom-option:hover,.symptom-option.selected{border-color:var(--deep-teal);color:var(--deep-teal);background:#a8c3a033}.checkbox-mark{color:#fff;border:1px solid #2e5e4e4d;border-radius:4px;flex:0 0 17px;place-items:center;width:17px;height:17px;font-size:11px;font-weight:700;display:grid}.symptom-option.selected .checkbox-mark{border-color:var(--deep-teal);background:var(--deep-teal)}.symptom-note{margin-top:12px;font-size:11px;line-height:1.5;display:block}.secondary-button,.ghost-button{padding:10px 14px}.ghost-button{background:0 0}.task-list,.timeline-list,.insight-list{gap:16px;margin:0;padding:0;list-style:none;display:grid}.task-list li,.timeline-list li,.insight-list li{align-items:center;gap:12px;display:flex}.task-list li div,.insight-list li div,.meal-row div{flex:1;gap:3px;display:grid}.task-dot,.insight-check{border:2px solid #2e5e4e38;border-radius:50%;flex:0 0 22px;width:22px;height:22px}.task-dot.complete,.insight-check{border-color:var(--deep-teal);background:var(--deep-teal);color:#fff;place-items:center;font-size:12px;display:grid}.hydration-layout{grid-template-columns:1fr 1fr}.hydration-total{color:#33333394;align-items:baseline;gap:8px;margin:30px 0 16px;display:flex}.hydration-total strong{color:var(--deep-teal);font-size:4rem;line-height:1}.hydration-visual{background:linear-gradient(145deg,#e0f6f1b8,#eff9f752);border:1px solid #2e5e4e1a;border-radius:16px;justify-content:center;align-items:center;gap:22px;min-height:220px;margin:8px 0 20px;padding:18px;display:flex;overflow:visible}.hydration-unity-canvas{visibility:hidden;background:0 0;width:280px;height:280px;position:absolute}.hydration-visual-unity-ready{min-height:280px}.hydration-visual-unity-ready .hydration-unity-canvas{visibility:visible}.hydration-glass{width:92px;height:176px;padding-top:8px;position:relative}.hydration-glass-body{clip-path:polygon(0 0,100% 0,87% 100%,13% 100%);background:#ffffff75;border:3px solid #247b78b8;border-top-width:5px;border-radius:8px 8px 26px 26px;height:148px;position:relative;overflow:visible;box-shadow:inset 0 0 0 5px #ffffff2e,0 10px 20px #247b781f}.hydration-glass-base{background:#247b78b8;border-radius:50%;width:72px;height:8px;margin:5px auto 0}.hydration-water{background:linear-gradient(#73d7d2,#2997a0);border-radius:0 0 19px 19px;min-height:3px;transition:height .7s cubic-bezier(.22,1,.36,1);position:absolute;bottom:0;left:0;right:0;overflow:hidden}.hydration-water:before{content:"";background:#92e7e0e6;border-radius:50%;height:14px;animation:2.2s ease-in-out infinite hydration-wave;position:absolute;top:-5px;left:-10%;right:-10%}.hydration-water-shine{background:#ffffff47;border-radius:50%;width:8px;height:55%;position:absolute;top:12px;left:12px}.hydration-visual-copy{gap:4px;max-width:170px;display:grid}.hydration-visual-copy strong{color:#247b78;font-size:2.25rem;line-height:1}.hydration-visual-copy span{color:#333333b8;font-size:.9rem}.hydration-overflow{z-index:2;transform-origin:top;background:linear-gradient(#38bdf8 0%,#0284c7 100%);border-radius:0 0 8px 8px;width:7px;height:42px;display:none;position:absolute;top:12px;box-shadow:0 2px 8px #0284c773}.hydration-visual-overflowing .hydration-overflow{animation:1.35s ease-in both hydration-overflow;display:block}.hydration-visual-overflowing .overflow-one{animation-delay:80ms;left:12px}.hydration-visual-overflowing .overflow-two{height:56px;animation-delay:.17s;left:43px}.hydration-visual-overflowing .overflow-three{height:34px;animation-delay:.26s;right:12px}@keyframes hydration-wave{0%,to{transform:translate(-3%)}50%{transform:translate(3%)}}@keyframes hydration-overflow{0%{opacity:0;transform:translateY(0)scaleY(.35)}20%{opacity:1;transform:translateY(2px)scaleY(.7)}to{opacity:0;transform:translateY(48px)scaleY(1)}}@media (width<=520px){.hydration-visual{gap:14px}.hydration-glass{transform-origin:50%;transform:scale(.88)}.hydration-visual-copy strong{font-size:1.9rem}}.progress-bar.large{height:14px}.hydration-actions{flex-wrap:wrap;gap:10px;margin-top:24px;display:flex}.hydration-quick-selects{flex-wrap:wrap;gap:8px;margin:16px 0;display:flex}.hydration-entry-form{border-top:1px solid #2e5e4e1a;gap:14px;margin-top:22px;padding-top:20px;display:grid}.supplement-options{border:1px solid #2e5e4e1f;border-radius:10px;gap:8px;padding:14px;display:grid}.supplement-options legend{color:var(--deep-teal);padding:0 5px;font-weight:700}.selected-toggle{background:var(--deep-teal);color:#fff}.hydration-history-list{gap:10px;padding:0;list-style:none;display:grid}.hydration-history-list li{border:1px solid #2e5e4e1a;border-radius:10px;justify-content:space-between;align-items:center;gap:16px;padding:14px;display:flex}.hydration-history-list small{color:#333333b3;margin-top:4px;display:block}.dashboard-hydration-card .hydration-visual{min-height:250px}.injection-tracker-card{flex-direction:column;gap:18px;display:flex}.injection-log-form{flex-direction:column;gap:16px;display:flex}.body-map{flex-direction:column;align-items:center;gap:12px;display:flex}.body-map svg{width:200px;height:260px}.body-map-silhouette{fill:#2e5e4e1f;stroke:#2e5e4e47;stroke-width:2px}.body-map-region{fill:#247b782e;stroke:#247b7866;stroke-width:1.5px;cursor:pointer;transition:fill .15s,stroke .15s}.body-map-region:hover,.body-map-region:focus-visible{fill:#247b7852;outline:none}.body-map-region.selected{fill:#247b788c;stroke:#247b78cc}.body-map-legend{flex-wrap:wrap;justify-content:center;gap:8px;display:flex}.body-map-legend-item{cursor:pointer;background:#e0f6f180;border:1px solid #2e5e4e33;border-radius:999px;padding:6px 14px;font-size:.85rem}.body-map-legend-item.selected{color:#fff;background:#247b78d9;border-color:#247b78d9}.injection-rotation-pills{flex-wrap:wrap;gap:8px;margin:8px 0 12px;display:flex}.injection-rotation-pill{background:#e0f6f1b3;border-radius:999px;padding:4px 12px;font-size:.8rem}.injection-history-list{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.injection-history-item{border:1px solid #2e5e4e1a;border-radius:10px;padding:10px 14px}.injection-history-notes{color:#333333bf;margin:6px 0 0;font-size:.85rem}.text-button{color:#247b78e6;cursor:pointer;background:0 0;border:none;padding:6px 0 0;font-size:.85rem}.text-button:hover{text-decoration:underline}.dashboard-gelp-hero{margin-bottom:18px}.dashboard-gelp-hero .gelp-card{background:linear-gradient(135deg,#e0f6f1d1,#fffdf9eb);border-color:#247b7833;box-shadow:0 12px 30px #247b781a}.dashboard-gelp-hero .gelp-message{max-width:760px;font-size:1.05rem}.dashboard-macro-card{align-content:start;gap:14px;display:grid}.dashboard-macro-card h2{margin:0}.dashboard-macro-grid{grid-template-columns:repeat(2,1fr);gap:12px;display:grid}.dashboard-macro-grid div{background:#a8c3a029;border-radius:10px;gap:3px;padding:14px;display:grid}.dashboard-macro-grid strong{color:var(--deep-teal);font-size:1.25rem}.dashboard-macro-grid span,.dashboard-timeline small{color:#333333ad}.dashboard-lower-grid{align-items:start}.symptoms-log-card{gap:14px;margin-top:22px;display:grid}.dashboard-symptom-grid{margin-top:2px}.symptoms-log-actions,.symptoms-history-heading{justify-content:space-between;align-items:center;gap:14px;display:flex}.symptoms-history-heading{border-top:1px solid #2e5e4e1a;margin-top:8px;padding-top:16px}.symptoms-history-heading .label{margin-bottom:3px}.symptoms-history-list{gap:8px;display:grid}.symptoms-history-error{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;display:flex}.symptoms-history-list details{background:#ffffff73;border:1px solid #2e5e4e21;border-radius:8px}.symptoms-history-list summary{color:var(--deep-teal);cursor:pointer;padding:11px 13px;font-weight:650;list-style-position:inside}.symptom-history-day{gap:8px;padding:0 13px 12px 32px;display:grid}.symptom-history-entry{color:var(--charcoal);align-items:baseline;gap:12px;font-size:13px;display:flex}.symptom-history-entry time{color:#3333339e;min-width:62px;font-size:12px}@media (width<=700px){.symptoms-log-actions,.symptoms-history-heading{flex-direction:column;align-items:flex-start}.symptoms-log-actions .primary-button,.symptoms-history-heading .ghost-button{width:100%}}.dashboard-timeline,.dashboard-insights{gap:16px;padding:0;list-style:none;display:grid}.timeline-entry-group{gap:8px;display:grid}.timeline-entry{grid-template-columns:72px 11px 1fr;align-items:start;gap:12px;animation:.4s both dashboard-fade-in;display:grid}.timeline-entry time{color:#3333339e;font-size:.85rem}.timeline-entry-content{gap:4px;display:grid}.timeline-entry-heading{justify-content:space-between;gap:12px;display:flex}.timeline-entry-heading span,.timeline-entry-content small{color:#333333ad}.timeline-actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.timeline-action,.timeline-delete{width:fit-content;color:var(--deep-teal);font-size:.78rem;text-decoration:none}.timeline-delete{cursor:pointer;background:0 0;border:0;padding:0}.timeline-gap-indicator{color:#5e8d88;margin-left:84px;font-size:.78rem;animation:.35s both timeline-gap-in}@keyframes dashboard-fade-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@keyframes timeline-gap-in{0%{opacity:0;transform:translate(-5px)}to{opacity:1;transform:translate(0)}}.dashboard-timeline li{align-items:flex-start;gap:12px;display:flex}.timeline-marker{background:#55bfc0;border-radius:50%;flex:0 0 11px;width:11px;height:11px;margin-top:5px;box-shadow:0 0 0 5px #55bfc021}.timeline-marker.meal{background:#c77d54;box-shadow:0 0 0 5px #c77d5421}.dashboard-timeline li div{gap:3px;display:grid}.dashboard-insights li{background:#e0f6f19e;border-left:3px solid #73d7d2;border-radius:0 8px 8px 0;padding:13px 14px}.dashboard-actions{flex-wrap:wrap;gap:10px;margin-top:22px;display:flex}.insights-grid-top,.insights-trend-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-bottom:18px;display:grid}.insights-gelp-hero{margin-bottom:18px}.insights-gelp-hero .gelp-card{background:linear-gradient(135deg,#e0f6f1e6,#fffdf9f0);border-color:#247b783d;box-shadow:0 16px 36px #247b781f}.insights-gelp-hero .gelp-message{max-width:760px;font-size:1.12rem}.insights-summary-primary{border-left:4px solid #73d7d2;margin-bottom:18px}.insights-supporting-list{margin-top:18px}.weigh-in-card,.weekly-summary-card,.trend-card,.symptom-trend-card,.best-feeling-card{animation:.4s both dashboard-fade-in}.weigh-in-card h2,.weekly-summary-card h2,.trend-card h2,.symptom-trend-card h2,.best-feeling-card h2{margin:0 0 10px}.insights-weigh-form{align-items:stretch;gap:8px;margin-top:16px;display:flex}.insights-weigh-form input{flex:1;width:100%;min-width:0;min-height:46px;padding:10px 12px;display:block}.insights-weigh-form .primary-button{flex:none;min-height:46px}@media (width<=420px){.insights-weigh-form{flex-direction:column}.insights-weigh-form .primary-button{width:100%}}.weight-history{color:#333333ad;flex-wrap:wrap;gap:8px 12px;margin-top:15px;font-size:.8rem;display:flex}.insights-sparkline{gap:10px;margin-top:18px;display:grid}.insights-sparkline svg{color:#247b78;background:linear-gradient(#e0f6f1b3,#fff0);border-bottom:1px solid #2e5e4e24;width:100%;height:150px;overflow:visible}.sparkline-labels{color:#333333a3;justify-content:space-between;font-size:.72rem;display:flex}.best-feeling-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.best-feeling-grid article{background:#e0f6f194;border-left:3px solid #73d7d2;border-radius:0 8px 8px 0;gap:5px;padding:14px;display:grid}.best-feeling-grid span,.best-feeling-grid small{color:#333333b3}@media (width<=700px){.insights-grid-top,.insights-trend-grid,.best-feeling-grid{grid-template-columns:1fr}.dashboard-macro-grid{grid-template-columns:repeat(2,1fr)}}.timeline-list li{border-bottom:1px solid #2e5e4e14;grid-template-columns:70px 55px 1fr;gap:12px;padding-bottom:13px;display:grid}.timeline-list li:last-child{border-bottom:0;padding-bottom:0}.timeline-list span,.timeline-list strong{color:var(--deep-teal);font-size:14px}.weekly-card,.planner-card{margin-bottom:20px}.bar-chart{justify-content:space-around;align-items:flex-end;gap:12px;height:180px;padding-top:12px;display:flex}.bar-column{flex:1;place-items:end center;gap:8px;height:100%;display:grid}.bar-track{background:#a8c3a02e;border-radius:8px;align-items:flex-end;width:min(38px,100%);height:100%;display:flex;overflow:hidden}.bar-track span{background:var(--deep-teal);border-radius:8px;width:100%;display:block}.meal-stats{margin-bottom:20px}.meal-list{gap:0;display:grid}.meal-row{border-bottom:1px solid #2e5e4e14;align-items:center;gap:14px;padding:15px 0;display:flex}.meal-time{color:#3333338f;width:58px;font-size:12px}.meal-row b{color:var(--deep-teal);font-size:13px}.add-row{width:100%;margin-top:16px;padding:11px}.suggestion-card,.insight-hero{background:linear-gradient(135deg,#a8c3a04d,#ffffffb8)}.suggestion-card h2,.insight-hero h2{margin-bottom:12px}.suggestion-card .secondary-button{margin-top:22px}.week-grid{grid-template-columns:repeat(7,minmax(90px,1fr));gap:8px;display:grid}.day-plan{background:#f8f6f299;border:1px solid #2e5e4e1a;border-radius:10px;align-content:start;gap:12px;min-height:140px;padding:12px;display:grid}.day-plan>span,.day-plan small{color:#3333338f;font-size:12px}.day-plan strong{color:var(--deep-teal);font-size:14px}.toolbar-actions{gap:8px;display:flex}.idea-list{gap:8px;margin-top:18px;display:grid}.idea-list button{text-align:left;align-items:center;gap:10px;padding:10px;display:flex}.idea-list button>div{flex:1;gap:2px;display:grid}.idea-icon{width:32px;height:32px;color:var(--deep-teal);background:#a8c3a04d;border-radius:8px;place-items:center;font-weight:800;display:grid}.pantry-card .progress-bar{margin:22px 0 8px}.insight-score{align-items:baseline;gap:10px;margin-top:28px;display:flex}.insight-score strong{color:var(--deep-teal);font-size:3rem}.insight-score span{color:#3333339e}.gelp-card{background:linear-gradient(135deg,#a8c3a038,#ffffffd1)}.gelp-badge{color:var(--deep-teal);background:#2e5e4e1a;border-radius:99px;padding:5px 9px;font-size:11px;font-weight:700}.gelp-message{min-height:72px;color:var(--deep-teal);font-size:18px;line-height:1.55}.gelp-card .secondary-button{margin-top:18px}.insight-list li{align-items:flex-start}.settings-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:14px;display:grid}.auth-page{background:linear-gradient(145deg,#e0f6f1,#fbfcf8);place-items:center;min-height:100vh;padding:32px;display:grid}.auth-form{background:#fff;border:1px solid #2e5e4e26;border-radius:8px;gap:14px;width:min(100%,440px);padding:32px;display:grid}.auth-form label,.intake-profile-fields label{color:var(--deep-teal);gap:7px;font-size:13px;font-weight:700;display:grid}.intake-profile-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-bottom:22px;display:grid}.sign-out-button{text-align:left;cursor:pointer;background:0 0;border:0;width:100%}.settings-section h2{margin-bottom:14px}.settings-section label:not(.toggle-row){color:var(--deep-teal);gap:7px;margin-top:12px;font-size:13px;font-weight:700;display:grid}.settings-section input:not([type=checkbox]){width:100%;color:var(--charcoal);background:#ffffffb3;border:1px solid #2e5e4e29;border-radius:8px;padding:11px 12px}.settings-subsection{border-top:1px solid #2e5e4e1f;margin-top:18px;padding-top:4px}.settings-nested-section{border-top:1px solid #2e5e4e1f;margin-top:18px;padding-top:18px}.dietary-targets-form{gap:14px;display:grid}.intake-template-selector{color:var(--deep-teal);gap:7px;font-size:13px;font-weight:700;display:grid}.intake-template-selector small{color:#333333a8;font-size:.78rem;font-weight:400;line-height:1.4}.nutrition-preferences-disclaimer{color:#333333c7;background:#e0f6f180;border-left:3px solid #247b78;gap:8px;padding:14px 16px;display:grid}.nutrition-preferences-disclaimer p{margin:0}.nutrition-preferences-disclaimer .label{color:var(--deep-teal)}.sodium-guidance{color:#333333a8;font-size:.78rem;font-weight:400;line-height:1.4}.target-field-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;display:grid}.target-field-grid label{gap:7px;display:grid}.target-field-grid select,.target-field-grid input{width:100%}.macro-target-grid{border-top:1px solid #2e5e4e1f;padding-top:4px}@media (width<=760px){.target-field-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=440px){.target-field-grid{grid-template-columns:1fr}}.input-with-suffix{background:#ffffffb3;border:1px solid #2e5e4e29;border-radius:8px;align-items:center;display:flex}.input-with-suffix input{min-width:0;background:0 0!important;border:0!important}.input-with-suffix span{color:#33333394;padding-right:12px}.settings-wide{grid-column:1/-1}.toggle-row{border-top:1px solid #2e5e4e14;justify-content:space-between;align-items:center;gap:20px;padding:15px 0;display:flex}.toggle-row span{gap:3px;display:grid}.toggle-row input{width:18px;height:18px;accent-color:var(--deep-teal)}.entry-tabs{background:#a8c3a024;border-radius:10px;gap:4px;margin-bottom:20px;padding:4px;display:flex}.entry-tabs button{color:#333333ad;cursor:pointer;background:0 0;border:0;border-radius:7px;flex:1;padding:9px 12px;font-weight:700}.entry-tabs button.active{color:var(--deep-teal);box-shadow:var(--shadow-soft);background:#fff}.food-form,.scanner-panel{gap:14px;display:grid}.food-form label,.scanner-panel label{color:var(--deep-teal);gap:6px;font-size:13px;font-weight:700;display:grid}.food-form input,.barcode-row input{width:100%;min-width:0;color:var(--charcoal);background:#ffffffb3;border:1px solid #2e5e4e29;border-radius:8px;padding:11px 12px}.nutrition-fields{grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;display:grid}.nutrition-fields label{font-size:11px}.meals-page .page-header{margin-bottom:20px}.meal-entry-form{gap:18px;display:grid}.meal-entry-form .section-heading{margin-bottom:0}.meal-entry-form .section-heading.compact{align-items:center}.meal-type-tabs{background:#a8c3a01f;border-radius:12px;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;padding:6px;display:grid}.meal-type-tabs button{color:#333333b8;cursor:pointer;background:0 0;border:0;border-radius:10px;padding:10px 12px;font-weight:700}.meal-type-tabs button.active{color:var(--deep-teal);box-shadow:var(--shadow-soft);background:#fff}.meal-form-grid,.macro-grid{gap:12px;display:grid}.meal-form-grid{grid-template-columns:minmax(180px,220px) 1fr}.macro-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.field{color:var(--deep-teal);gap:7px;font-size:13px;font-weight:700;display:grid}.field-wide{grid-column:1/-1}.field input{width:100%;color:var(--charcoal);background:#ffffffb3;border:1px solid #2e5e4e29;border-radius:10px;padding:11px 12px}.input-group{align-items:center;gap:8px;display:flex}.input-group input{flex:1}.match-notice{color:var(--deep-teal);background:#a8c3a033;border-radius:8px;margin:0;padding:8px 12px;font-size:12px}.barcode-lookup-box{background:#fff9;border:1px dashed #2e5e4e33;border-radius:10px;padding:12px}.secondary-macros{opacity:.95}.form-actions{justify-content:flex-end;gap:10px;display:flex}.ghost-button.small{padding:7px 10px;font-size:12px}.ghost-button.danger{color:#7a3e3e}.meal-list-group{gap:20px;display:grid}.meal-group{gap:10px;display:grid}.meal-group-header{border-bottom:1px solid #2e5e4e14;justify-content:space-between;align-items:center;gap:12px;padding-bottom:8px;display:flex}.meal-group-header h3{margin:0;font-size:16px}.meal-group-header span,.empty-state{color:#3339;font-size:12px}.meal-card-stack{gap:12px;display:grid}.meal-card{background:#ffffffad;border:1px solid #2e5e4e1f;border-radius:12px;gap:12px;padding:16px 14px;display:grid}.meal-card-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.meal-chip{min-height:24px;color:var(--deep-teal);background:#a8c3a033;border-radius:999px;align-items:center;padding:4px 8px;font-size:11px;font-weight:700;display:inline-flex}.meal-card-head p{color:#333333b8;margin-top:8px;font-size:12px}.meal-card-actions{gap:6px;display:flex}.meal-card h3{color:var(--deep-teal);margin:0;font-size:18px}.meal-card-macros{color:#333333ad;flex-wrap:wrap;gap:8px;font-size:12px;font-weight:700;display:flex}.macro-badge{border-radius:6px;padding:4px 8px;font-size:12px}.macro-badge.calories{color:var(--deep-teal);background:#2e5e4e1f;font-weight:800}.macro-badge.protein{color:#9c2e2e;background:#e0666626}.macro-badge.carbs{color:#946200;background:#ebb24d33}.macro-badge.fat{color:#3b7428;background:#6aa84f33}.macro-badge.fiber{color:#553e8d;background:#8e7cc32e}.daily-totals-section{margin-bottom:24px}.daily-totals-panel{background:linear-gradient(135deg,#fffffff2,#f4f8f6e6);border:1px solid #2e5e4e29}.panel-header{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.supportive-badge{color:var(--deep-teal);background:#a8c3a040;border-radius:999px;padding:4px 12px;font-size:12px;font-weight:700}.supportive-microcopy{color:var(--deep-teal);margin-bottom:16px;font-size:14px;font-style:italic}.daily-macro-overview{grid-template-columns:180px 1fr;align-items:center;gap:24px;padding:12px 0;display:grid}.macro-ring-card{width:140px;height:140px;margin:0 auto;position:relative}.macro-circle{width:100%;height:100%;transform:rotate(-90deg)}.circle-bg{fill:none;stroke:#2e5e4e1a;stroke-width:9px}.circle-progress{fill:none;stroke:var(--deep-teal);stroke-width:9px;stroke-linecap:round;transition:stroke-dashoffset .6s}.macro-ring-inner{text-align:center;flex-direction:column;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.ring-number{color:var(--deep-teal);font-size:24px;font-weight:800;line-height:1.1}.ring-unit{color:#333333a6;font-size:11px}.ring-label{text-transform:uppercase;color:var(--deep-teal);letter-spacing:.5px;margin-top:2px;font-size:11px;font-weight:700}.macro-bars-grid{gap:14px;display:grid}.macro-bar-item .bar-header{justify-content:space-between;margin-bottom:4px;font-size:13px;font-weight:700;display:flex}.protein-fill{background:#d9534f}.fat-fill{background:#5cb85c}.carb-fill{background:#f0ad4e}.bar-meta{color:#3339;margin-top:3px;font-size:11px;display:block}.secondary-nutrient-pills{grid-template-columns:repeat(4,1fr);gap:10px;margin:16px 0 8px;display:grid}.nutrient-pill{background:#ffffffb3;border:1px solid #2e5e4e1f;border-radius:10px;justify-content:space-between;align-items:center;padding:8px 12px;font-size:13px;display:flex}.panel-footer{border-top:1px dashed #2e5e4e1f;margin-top:12px;padding-top:8px}.multi-item-form{gap:16px}.meal-time-row{max-width:240px}.meal-components-builder{gap:14px;display:grid}.builder-header{justify-content:space-between;align-items:baseline;display:flex}.builder-header h3{color:var(--deep-teal);margin:0;font-size:16px}.helper-note{color:#3339;margin:0;font-size:12px}.component-row-card{background:#ffffffbf;border:1px solid #2e5e4e24;border-radius:12px;gap:10px;padding:14px;display:grid}.component-row-header{justify-content:space-between;align-items:center;display:flex}.item-badge{text-transform:uppercase;color:var(--deep-teal);background:#2e5e4e1a;border-radius:6px;padding:3px 8px;font-size:11px;font-weight:700}.component-actions{gap:6px;display:flex}.portion-row{grid-template-columns:1fr 1fr;gap:10px;margin-top:8px;display:grid}.portion-unit select{width:100%;color:var(--charcoal);background:#ffffffb3;border:1px solid #2e5e4e29;border-radius:10px;padding:11px 12px;font-weight:600}.add-item-button{width:100%;color:var(--deep-teal);cursor:pointer;background:#a8c3a01a;border:1px dashed #2e5e4e4d;border-radius:10px;padding:12px;font-weight:700}.meal-total-summary-card{background:#2e5e4e0f;border-radius:12px;gap:10px;padding:14px;display:grid}.summary-title{justify-content:space-between;align-items:center;display:flex}.summary-title h4{color:var(--deep-teal);margin:0;font-size:14px}.summary-title .badge{color:var(--deep-teal);background:#fff;border-radius:999px;padding:2px 8px;font-size:11px;font-weight:700}.macro-summary-grid{grid-template-columns:repeat(4,1fr);gap:8px;display:grid}.macro-pill{background:#fff;border-radius:8px;flex-direction:column;align-items:center;padding:8px 10px;font-size:12px;display:flex;box-shadow:0 1px 3px #0000000a}.macro-pill strong{color:var(--deep-teal);font-size:14px}.meal-components-list{border-top:1px dashed #2e5e4e1f;margin-top:8px;padding-top:10px}.components-heading{text-transform:uppercase;color:#3333338c;margin-bottom:6px;font-size:11px;font-weight:700}.components-ul{gap:6px;margin:0;padding:0;list-style:none;display:grid}.component-item-row{background:#fff9;border-radius:8px;justify-content:space-between;align-items:center;padding:8px 10px;font-size:12px;display:flex}.item-portion{color:#3339;margin-left:6px;font-size:11px}.barcode-tag{background:#0000000d;border-radius:4px;margin-left:6px;padding:2px 5px;font-size:10px}.item-macros-inline{color:#333333b3;align-items:center;gap:8px;font-weight:600;display:flex}.delete-comp-btn{color:#a33;cursor:pointer;background:0 0;border:0;padding:0 4px;font-size:16px;font-weight:700}.meal-log-panel{min-height:420px}@media (width<=900px){.daily-macro-overview{text-align:center;grid-template-columns:1fr}.secondary-nutrient-pills,.macro-summary-grid{grid-template-columns:repeat(2,1fr)}}@media (width<=700px){.meal-type-tabs,.meal-form-grid,.macro-grid{grid-template-columns:1fr}.form-actions{flex-direction:column-reverse}.form-actions button{width:100%}}.barcode-row{gap:10px;display:flex}.barcode-row .secondary-button{flex:none}.lookup-result{background:#a8c3a024;border:1px solid #2e5e4e24;border-radius:10px;gap:5px;padding:14px;display:grid}.lookup-result .date-pill{width:fit-content;margin-top:4px}.form-status{color:var(--deep-teal);margin-top:2px;font-size:13px}.sidebar-backdrop,.mobile-topbar{display:none}.sidebar{z-index:30;flex:0 0 260px;height:100vh;position:sticky;top:0}.sidebar-brand{justify-content:space-between}.sidebar-close{display:none}.nav-link{cursor:pointer;min-height:48px;font:inherit;text-align:left;background:0 0;border:0;align-items:center;gap:12px;display:flex}.nav-icon{width:24px;color:var(--accent-coral);place-items:center;font-size:1.2rem;display:grid}.ui-button,.ui-icon-button,.ui-tabs button,.ui-collapsible-trigger{min-height:44px}.ui-button{border-radius:var(--radius-sm);cursor:pointer;transition:transform var(--duration) var(--ease), box-shadow var(--duration) var(--ease), background var(--duration) ease;border:1px solid #0000;justify-content:center;align-items:center;gap:8px;padding:0 16px;font-weight:700;display:inline-flex}.ui-button:hover:not(:disabled){box-shadow:var(--shadow-soft);transform:translateY(-1px)}.ui-button:disabled{cursor:not-allowed;opacity:.6}.ui-button-primary{background:var(--deep-teal);color:#fff}.ui-button-secondary{background:var(--sage-green);color:var(--deep-teal)}.ui-button-ghost{border-color:var(--line);color:var(--deep-teal);background:0 0}.ui-button-danger{color:#fff;background:#bd4f42}.ui-icon-button{width:44px;color:var(--deep-teal);cursor:pointer;background:0 0;border:0;border-radius:50%;place-items:center;font-size:1.35rem;display:inline-grid}.ui-icon-button:hover{background:#205e5917}.ui-card,.ui-panel{border:1px solid var(--line);border-radius:var(--radius-md);background:var(--card-bg);box-shadow:var(--shadow-soft);padding:var(--space-6)}.ui-panel{box-shadow:none;background:#dcebd84d}.ui-card-header,.ui-section-header,.ui-modal-header{justify-content:space-between;align-items:flex-start;gap:var(--space-4);display:flex}.ui-eyebrow{color:var(--accent-coral);letter-spacing:.1em;text-transform:uppercase;margin:0 0 6px;font-size:.72rem;font-weight:800}.ui-description{color:#243432b8;margin-top:6px}.ui-field{margin-bottom:var(--space-4);gap:6px;display:grid}.ui-field-label{color:var(--deep-teal);font-size:.86rem;font-weight:700}.ui-control{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--paper);width:100%;min-height:46px;color:var(--charcoal);padding:10px 12px}.ui-field-error{color:#a64137;font-size:.82rem}.ui-collapsible{border:1px solid var(--line);border-radius:var(--radius-md);background:var(--card-bg);overflow:hidden}.ui-collapsible-card{border:1px solid var(--line);border-radius:var(--radius-md);background:var(--card-bg);box-shadow:var(--shadow-soft);overflow:hidden}.ui-collapsible-card.card{padding:0}.ui-collapsible-card-header{align-items:stretch;gap:var(--space-2);display:flex}.ui-collapsible-card-trigger{min-width:0;min-height:72px;color:var(--deep-teal);cursor:pointer;text-align:left;background:0 0;border:0;flex:1;align-items:center;gap:12px;padding:14px 18px;display:flex}.ui-collapsible-card-trigger:hover{background:#a8c3a01f}.ui-collapsible-card-icon{width:34px;height:34px;color:var(--deep-teal);background:#a8c3a047;border-radius:10px;flex:0 0 34px;place-items:center;display:grid}.ui-collapsible-card .ui-collapsible-copy{flex:1;min-width:0}.ui-collapsible-card .ui-collapsible-copy strong,.ui-collapsible-card .ui-collapsible-copy small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.ui-collapsible-card .ui-collapsible-copy .ui-eyebrow{margin:0}.ui-collapsible-details{background:var(--sage-green);min-height:42px;color:var(--deep-teal);cursor:pointer;white-space:nowrap;border:0;border-radius:999px;align-self:center;margin:0 12px 0 0;padding:0 12px;font-size:.82rem;font-weight:800}.ui-collapsible-card-content{opacity:0;transition:grid-template-rows var(--duration) var(--ease), opacity var(--duration) ease;grid-template-rows:0fr;display:grid}.ui-collapsible-card-content>div{min-height:0;padding:0 18px;overflow:hidden}.ui-collapsible-card.is-open .ui-collapsible-card-content{opacity:1;grid-template-rows:1fr}.ui-collapsible-card.is-open .ui-collapsible-card-content>div{padding-bottom:18px}.ui-collapsible-trigger{width:100%;color:var(--deep-teal);cursor:pointer;text-align:left;background:0 0;border:0;justify-content:space-between;align-items:center;gap:12px;padding:16px 18px;display:flex}.ui-collapsible-copy{gap:2px;display:grid}.ui-collapsible-copy small{color:#243432a6;font-weight:400}.ui-chevron{transition:transform var(--duration) var(--ease)}.ui-collapsible.is-open .ui-chevron{transform:rotate(180deg)}.ui-collapsible-content{opacity:0;transition:grid-template-rows var(--duration) var(--ease), opacity var(--duration) ease;grid-template-rows:0fr;display:grid}.ui-collapsible-content>div{padding:0 18px;overflow:hidden}.ui-collapsible.is-open .ui-collapsible-content{opacity:1;grid-template-rows:1fr}.ui-collapsible.is-open .ui-collapsible-content>div{padding-bottom:18px}.ui-modal-backdrop{z-index:50;background:#192b246b;align-items:end;padding:16px;display:grid;position:fixed;inset:0}.ui-modal{border-radius:var(--radius-lg) var(--radius-lg) 0 0;background:var(--paper);width:min(640px,100%);max-height:calc(100vh - 32px);padding:var(--space-6);box-shadow:var(--shadow-deep);overflow:auto}.ui-tabs{border-bottom:1px solid var(--line);gap:4px;display:flex;overflow-x:auto}.ui-tabs button{color:#243432ad;cursor:pointer;background:0 0;border:0;border-bottom:3px solid #0000;flex:none;padding:0 14px;font-weight:700}.ui-tabs button.is-active{border-color:var(--accent-coral);color:var(--deep-teal)}.ui-loading{color:var(--deep-teal);align-items:center;gap:8px;display:inline-flex}.ui-spinner{border:2px solid #205e5933;border-top-color:var(--deep-teal);border-radius:50%;width:18px;height:18px;animation:.7s linear infinite ui-spin;display:inline-block}.ui-spinner-inline{width:14px;height:14px}@keyframes ui-spin{to{transform:rotate(360deg)}}@media (width<=900px){.app-shell{display:block}.sidebar{width:min(86vw,320px);height:100dvh;transition:transform var(--duration) var(--ease);box-shadow:var(--shadow-deep);position:fixed;top:0;left:0;transform:translate(-105%)}.sidebar.is-open{transform:translate(0)}.sidebar-close{display:inline-grid}.sidebar-backdrop{z-index:20;opacity:0;pointer-events:none;transition:opacity var(--duration) ease;background:#192b2459;position:fixed;inset:0}.sidebar-backdrop.is-visible{opacity:1;pointer-events:auto;display:block}.content{padding:0 18px 32px}.mobile-topbar{z-index:10;border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#f7f8f3e6;align-items:center;gap:12px;min-height:64px;margin:0 -18px 18px;padding:8px 14px;display:flex;position:sticky;top:0}.mobile-logo{object-fit:contain;width:150px;height:40px}}@media (width>=701px){.ui-modal-backdrop{align-items:center}.ui-modal{border-radius:var(--radius-lg)}}@media (width<=1000px){.dashboard-overview{grid-template-columns:repeat(2,1fr)}.welcome-card{grid-column:1/-1}.week-grid{overflow-x:auto}}@media (width<=700px){.content{padding:22px 18px}.ui-collapsible-card-header{display:block}.ui-collapsible-details{position:absolute;top:15px;right:12px}.ui-collapsible-card{position:relative}.ui-collapsible-card-trigger{padding-right:120px}.page-header,.section-heading,.planner-toolbar{flex-direction:column;align-items:flex-start}.page-header .primary-button,.page-header .ghost-button{width:100%}.dashboard-overview,.content-grid,.hydration-layout,.settings-grid{grid-template-columns:1fr}.symptom-heading{flex-direction:column;gap:4px}.symptom-grid{grid-template-columns:1fr}.nutrition-fields{grid-template-columns:repeat(2,minmax(0,1fr))}.barcode-row{flex-direction:column;align-items:stretch}.welcome-card,.settings-wide{grid-column:auto}.week-grid{padding-bottom:6px;display:flex}.day-plan{min-width:130px}}.topbar{justify-content:space-between;align-items:center;gap:20px;margin-bottom:24px;display:flex}.eyebrow{letter-spacing:.12em;text-transform:uppercase;color:var(--deep-teal);margin:0 0 8px;font-size:12px;font-weight:700}.primary-button{background:var(--sage-green);color:var(--deep-teal);box-shadow:var(--shadow-soft);cursor:pointer;border:none;border-radius:999px;padding:.9rem 1.5rem;font-weight:700;transition:transform .2s,box-shadow .2s}.primary-button:hover{box-shadow:var(--shadow-deep);transform:translateY(-1px)}.dashboard-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:20px;display:grid}.card{background:var(--card-bg);box-shadow:var(--shadow-soft);border:1px solid #2e5e4e14;border-radius:12px;padding:20px}.card.highlight{background:linear-gradient(135deg,#a8c3a038 0%,#fffc 100%)}.label{letter-spacing:.08em;text-transform:uppercase;color:var(--deep-teal);margin:0 0 10px;font-size:12px;font-weight:700}.card h2{color:var(--deep-teal);font-size:clamp(1.3rem,2.2vw,2rem)}.metric-row{align-items:end;gap:8px;min-height:42px;display:flex}.metric-row strong{color:var(--deep-teal);font-size:2rem;line-height:1}.metric-row span{color:#333333c2;margin-bottom:6px}.progress-bar{background:var(--mist-gray);border-radius:999px;width:100%;height:10px;margin-top:12px;overflow:hidden}.progress-bar span{border-radius:inherit;background:linear-gradient(90deg, #8bb391 0%, var(--deep-teal) 100%);height:100%;display:block}.focus-list{color:var(--charcoal);margin:0;padding-left:1.2rem;line-height:1.9}.full-width{grid-column:1/-1}@media (width<=900px){.app-shell{flex-direction:column}.sidebar{border-bottom:1px solid #2e5e4e14;border-right:none;width:100%}}@media (width<=640px){.content{padding:18px}.topbar{flex-direction:column;align-items:flex-start}.brand-block{width:100%}.brand-wordmark{width:min(280px,70vw)}.primary-button{width:100%}}.gelp-page{max-width:960px}.gelp-disclaimer{color:#333333d1;background:#a8c3a02e;border:1px solid #2e5e4e1f;border-radius:12px;margin:16px 0 24px;padding:16px 18px;font-size:.92rem;line-height:1.6}.gelp-insight-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:16px;margin-bottom:24px;display:grid}.gelp-insight-card{padding:16px 18px}.gelp-insight-value{color:var(--deep-teal);margin:4px 0;font-size:1.3rem;font-weight:700}.gelp-chat{flex-direction:column;gap:16px;max-height:440px;padding:20px;display:flex}.gelp-chat-history{flex-direction:column;gap:10px;min-height:240px;padding-right:4px;display:flex;overflow-y:auto}.gelp-message-row{display:flex}.gelp-message-row.user{justify-content:flex-end}.gelp-message-row.assistant{justify-content:flex-start}.gelp-bubble{border-radius:16px;max-width:78%;padding:12px 16px;line-height:1.5}.gelp-bubble.user{background:var(--deep-teal);color:#fffdf9;border-bottom-right-radius:4px}.gelp-bubble.assistant{color:var(--charcoal);background:#a8c3a038;border-bottom-left-radius:4px}.gelp-bubble.gelp-thinking{opacity:.8;font-style:italic}.gelp-candidate-list{flex-direction:column;gap:8px;margin-top:10px;display:flex}.gelp-candidate{cursor:pointer;text-align:left;background:#fffdf9;border:1px solid #2e5e4e29;border-radius:10px;flex-direction:column;align-items:flex-start;gap:4px;padding:10px 12px;transition:transform .15s,box-shadow .15s;display:flex}.gelp-candidate:hover{box-shadow:var(--shadow-soft);transform:translateY(-1px)}.gelp-candidate-name{color:var(--deep-teal);font-weight:700}.gelp-candidate-macros{color:#333333bf;font-size:.85rem}.gelp-chat-input{gap:10px;display:flex}.gelp-chat-input input{background:#ffffffd9;border:1px solid #2e5e4e29;border-radius:10px;flex:1;padding:12px 14px}.admin-page{gap:18px;display:grid}.admin-tabs{gap:8px;display:flex}.admin-tabs button{cursor:pointer;background:#ffffffb3;border:1px solid #2e5e4e2e;border-radius:999px;padding:10px 18px;font-weight:600}.admin-tabs button.active{color:#fff;background:#2e5e4e;border-color:#2e5e4e}.admin-search{gap:6px;font-size:13px;font-weight:600;display:grid}.admin-search input{background:#ffffffd9;border:1px solid #2e5e4e29;border-radius:10px;padding:10px 12px}.admin-temp-password{background:#f7dab259;border:1px solid #cb762c59;border-radius:10px;gap:6px;margin-top:12px;padding:12px 14px;display:grid}.admin-temp-password code{letter-spacing:.04em;font-size:15px;font-weight:700}.admin-temp-password button{cursor:pointer;background:#ffffffd9;border:1px solid #2e5e4e33;border-radius:8px;justify-self:start;padding:6px 12px}.admin-user-list{gap:12px;display:grid}.admin-user-row{background:#fff9;border:1px solid #2e5e4e1f;border-radius:12px;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:14px;padding:14px;display:flex}.admin-user-identity{gap:2px;display:grid}.admin-user-identity small{color:#333333a6}.admin-user-controls{flex-wrap:wrap;align-items:flex-end;gap:10px;display:flex}.admin-user-controls label{gap:4px;font-size:12px;font-weight:600;display:grid}.admin-user-controls select{background:#ffffffe6;border:1px solid #2e5e4e29;border-radius:8px;padding:8px 10px}.admin-user-actions{gap:8px;display:flex}.admin-user-actions button{cursor:pointer;background:#ffffffe6;border:1px solid #2e5e4e33;border-radius:8px;padding:8px 12px;font-weight:600}.admin-user-actions button.danger{color:#b03a2e;border-color:#b03a2e66}.admin-user-actions button:disabled{opacity:.5;cursor:not-allowed}.admin-metric-grid{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px;margin:10px 0;display:grid}.admin-metric-grid article{background:#ffffffa6;border-radius:10px;gap:4px;padding:12px;display:grid}.admin-metric-grid strong{font-size:22px}.admin-metric-grid small{color:#333333b3}.admin-question-list{gap:8px;margin:0;padding-left:20px;display:grid}.admin-question-list li{justify-content:space-between;gap:12px;display:flex}@media (width<=720px){.admin-user-row{flex-direction:column;align-items:stretch}}.meals-page,.meals-page .content-grid,.meals-page .card,.meals-page .meal-history-page{min-width:0}.meals-page .meal-builder-card,.meals-page .meal-history-card,.meals-page .daily-totals-panel{overflow:hidden}.meals-page .meal-card-title,.meals-page .item-info,.meals-page .item-info strong{overflow-wrap:anywhere;min-width:0}.meals-page .item-macros-inline{flex-wrap:wrap;justify-content:flex-end}@media (width<=700px){.meals-page .page-header{gap:14px}.meals-page .page-header .calendar-trigger{justify-content:center;width:100%}.meals-page .meals-layout-grid{grid-template-columns:minmax(0,1fr);gap:16px;display:grid}.meals-page .meal-builder-card,.meals-page .meal-history-card,.meals-page .daily-totals-panel{padding:16px}.meals-page .meal-entry-form .section-heading.compact,.meals-page .builder-header,.meals-page .panel-header,.meals-page .history-heading{flex-direction:column;align-items:flex-start}.meals-page .meal-entry-form .section-heading.compact .muted,.meals-page .panel-header .supportive-badge,.meals-page .history-heading>.muted{align-self:flex-start}.meals-page .meal-type-tabs{grid-template-columns:repeat(2,minmax(0,1fr))}.meals-page .meal-time-row{max-width:none}.meals-page .macro-grid,.meals-page .macro-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.meals-page .daily-macro-overview{grid-template-columns:minmax(0,1fr);gap:16px}.meals-page .secondary-nutrient-pills{grid-template-columns:repeat(2,minmax(0,1fr))}.meals-page .meal-card-head{flex-direction:column;align-items:stretch}.meals-page .meal-card-actions{grid-template-columns:repeat(2,minmax(0,1fr));width:100%;display:grid}.meals-page .meal-card-actions button,.meals-page .form-actions button,.meals-page .barcode-row button,.meals-page .input-group button{width:100%;min-height:44px}.meals-page .component-item-row{flex-direction:column;align-items:flex-start;gap:8px}.meals-page .item-macros-inline{justify-content:flex-start;width:100%}.meals-page .barcode-row,.meals-page .input-group{flex-direction:column;align-items:stretch}}@media (width<=420px){.meals-page .meal-type-tabs,.meals-page .macro-grid,.meals-page .macro-summary-grid,.meals-page .secondary-nutrient-pills,.meals-page .meal-card-actions{grid-template-columns:minmax(0,1fr)}.meals-page .nutrient-pill{min-height:44px}}html,body,#root{max-width:100%;overflow-x:hidden}.ui-sheet-backdrop{z-index:50;background:#192b246b;align-items:end;padding:0;display:grid;position:fixed;inset:0}.ui-sheet{border-radius:var(--radius-lg) var(--radius-lg) 0 0;background:var(--paper);width:100%;max-height:min(90dvh,760px);padding:10px var(--space-6) calc(var(--space-6) + env(safe-area-inset-bottom));box-shadow:var(--shadow-deep);animation:ui-sheet-in var(--duration) var(--ease) both;overflow:auto}.ui-sheet-handle{background:#205e5938;border-radius:999px;width:42px;height:4px;margin:0 auto 8px}@keyframes ui-sheet-in{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}.recipe-library-page .recipe-results,.recipe-library-page .suggested-recipe-grid,.intake-profile-fields label,.recipe-form .field,.settings-section label,.auth-form label{min-width:0}.gelp-chat-input input,.gelp-chat-input button,.hydration-history-list button,.injection-log-form button,.admin-user-controls select,.admin-user-actions button{min-height:44px}@media (width<=760px){.content{padding-bottom:calc(32px + env(safe-area-inset-bottom))}.page-content{width:100%}.page-header,.section-heading,.ui-card-header,.ui-section-header{gap:12px}.intake-profile-fields{grid-template-columns:minmax(0,1fr)}.ingredient-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.ingredient-row input:first-child{grid-column:1/-1}.search-row,.nutrition-lookup-panel,.gelp-chat-input{flex-direction:column;align-items:stretch}.search-row button,.nutrition-lookup-panel button,.gelp-chat-input button{width:100%}.hydration-history-list li{flex-direction:column;align-items:stretch;gap:10px}.hydration-history-list .meal-card-actions{width:100%}.hydration-history-list .meal-card-actions button{flex:1}.injection-tracker-card .section-heading,.injection-history-heading{flex-direction:column;align-items:flex-start}.injection-history-item{overflow-wrap:anywhere}.gelp-chat{max-height:none;padding:16px}.gelp-chat-history{min-height:180px;max-height:48dvh}.gelp-bubble{max-width:92%}.admin-user-row{flex-direction:column;align-items:stretch}.admin-user-controls,.admin-user-actions{grid-template-columns:minmax(0,1fr);width:100%;display:grid}.admin-user-controls label,.admin-user-controls select,.admin-user-actions button{width:100%}}@media (width<=480px){.content{padding-left:14px;padding-right:14px}.mobile-topbar{margin-left:-14px;margin-right:-14px}.ui-card,.ui-panel,.card,.recipe-form{padding:16px}.intake-profile-fields,.macro-grid,.nutrition-fields,.secondary-nutrient-pills,.ingredient-row{grid-template-columns:minmax(0,1fr)}.ingredient-row input:first-child{grid-column:auto}.recipe-library-page .tag-filter-group,.menu-suggestion-list,.weight-history{gap:8px}.recipe-library-page .menu-suggestion-list{grid-template-columns:minmax(0,1fr)}}@media (width<=760px){.recipe-library-page .recipe-results{grid-template-columns:minmax(0,1fr);gap:14px}.recipe-library-page .recipe-card{min-width:0;padding:18px}.recipe-library-page .recipe-card-header{align-items:flex-start}.recipe-library-page .recipe-card-header h3,.recipe-library-page .recipe-card .supportive-copy{overflow-wrap:anywhere}.recipe-library-page .recipe-card .supportive-copy{-webkit-line-clamp:3;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.recipe-library-page .recipe-card .card-actions{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.recipe-library-page .recipe-card .card-actions button{width:100%;min-height:46px}}@media (width<=420px){.recipe-library-page .recipe-card .card-actions{grid-template-columns:minmax(0,1fr)}}
