:root{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#25332d;background:#f8f7f3;font-synthesis:none;font-weight:400;--green: #234b3e;--muted: #677168;--line: #e3e5dc;--warm: #975136}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button{cursor:pointer}button:disabled{cursor:wait;opacity:.55}button,a,input,select{outline-offset:4px}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #62856e}button{border:0;color:inherit;background:none;min-height:44px}svg{flex-shrink:0}p{line-height:1.6}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(2.5rem,5vw,3.5rem);font-weight:550;letter-spacing:-.055em;line-height:1.1;margin-bottom:12px}h2{font-size:1.2rem;letter-spacing:-.025em;font-weight:600}h3{font-size:1.08rem;font-weight:600;letter-spacing:-.02em}.app{min-height:100dvh;display:flex}.sidebar{width:246px;position:fixed;inset:0 auto 0 0;border-right:1px solid var(--line);padding:38px 26px;background:#f0f2eb;display:flex;flex-direction:column}.brand{font-size:1.55rem;font-weight:650;letter-spacing:-.06em;display:flex;align-items:center;gap:10px}.brand-icon{display:inline-flex;align-items:center;justify-content:center;background:var(--green);color:#fff;border-radius:12px;width:36px;height:39px;font-size:35px;font-weight:500;line-height:1}.brand-icon span{color:#59674f;margin-left:1px}.nav{display:grid;gap:10px;margin-top:65px}.nav button{display:flex;align-items:center;gap:14px;text-align:left;padding:14px 18px;border-radius:12px;font-size:15px;color:#5b665e}.nav .selected{background:#dee7d8;color:#234b3e;font-weight:650}.side-note{margin-top:auto;color:#59674f;font-size:14px;padding:24px 14px 0;line-height:1.8}.side-note svg{color:#59674f;margin-bottom:12px}.workspace{margin-left:246px;flex:1;min-width:0}.topbar{height:89px;padding:0 6%;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line)}.topbar>span{font-size:11px;letter-spacing:.16em;color:#59674f;font-weight:600}.icon-button{display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--line);border-radius:50%;width:44px;min-width:44px;background:#fff9}.workspace main{max-width:1200px;margin:auto;padding:48px 6% 60px}.eyebrow{font-size:11px;letter-spacing:.16em;font-weight:650;color:#64725e;margin-bottom:15px}.heading-dot{color:#59674f}.muted{color:var(--muted);font-size:14px}.page-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:28px}.page-head p:last-child{margin-bottom:0}.date-nav{display:flex;align-items:center;gap:8px}.actions{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-bottom:40px}.action{display:flex;align-items:center;text-align:left;gap:18px;border-radius:18px;padding:25px 24px;min-height:114px}.action>svg:last-child{margin-left:auto}.action strong,.action small{display:block}.action strong{font-size:19px;font-weight:550;margin-bottom:8px}.action small{font-size:13px;opacity:.86}.action-icon{height:46px;width:46px;display:flex;justify-content:center;align-items:center;border-radius:14px}.action.meal{color:#fff;background:var(--green);box-shadow:0 6px 16px #234b3e12}.meal .action-icon{background:#ffffff14}.action.symptom{background:#eee4da;color:#79442e}.symptom .action-icon{background:#fff5}.today-grid{display:grid;grid-template-columns:minmax(0,1fr) 290px;gap:34px}.section-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px;gap:12px}.section-heading h2{margin:0}.note-card{background:#edf0e5;border-radius:18px;padding:27px 25px}.note-card h2{font-size:25px;font-weight:500;line-height:1.35;margin:24px 0 15px;letter-spacing:-.04em}.note-card p{font-size:14px;color:#626e5a}.text-button{display:inline-flex;align-items:center;gap:10px;padding:0;font-size:14px;font-weight:600;color:var(--green)}.empty{padding:42px 15px;text-align:center;border:1px dashed #d6dccf;border-radius:18px;margin-top:20px}.empty-icon{display:inline-flex;padding:17px;border-radius:50%;background:#eaf0e2;color:#587449;margin-bottom:22px}.empty p{font-size:14px;color:var(--muted)}.primary{display:inline-flex;justify-content:center;align-items:center;gap:8px;background:var(--green);color:#fff;border-radius:11px;padding:12px 20px;min-height:48px;font-size:15px;font-weight:550}.bottom-nav{display:none}button{transition:background .15s,transform .15s}button:active{transform:translateY(1px)}.primary:hover,.meal:hover{background:#315d4c}.nav button:hover{background:#e2e8da}@media(min-width:1400px){.workspace main{padding-top:60px}}@media(max-width:1100px){.sidebar{width:210px;padding:30px 18px}.workspace{margin-left:210px}.today-grid{grid-template-columns:minmax(0,1fr)}.day-aside{display:none}.action{padding:23px 18px;gap:12px}.action small{font-size:12px}}@media(max-width:700px){.sidebar{display:none}.workspace{margin-left:0}.topbar{height:68px;padding:0 22px;border-bottom:0}.topbar>span{font-size:10px;letter-spacing:.12em}.workspace main{padding:5%}.page-head{margin-bottom:27px;align-items:flex-start}h1{font-size:42px}.eyebrow{font-size:10px}.date-nav{margin-top:28px;gap:0}.actions{gap:12px;margin-bottom:32px}.action{padding:18px 16px;position:relative;display:block;border-radius:16px;min-height:136px}.action-icon{width:35px;height:35px;border-radius:10px;margin-bottom:13px}.action-icon svg{width:19px}.action>svg:last-child{position:absolute;right:15px;top:23px;width:18px}.action strong{font-size:17px;margin-bottom:6px}.action small{font-size:11px}.bottom-nav{position:fixed;bottom:0;left:0;right:0;background:#fafbf7f5;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-top:1px solid #e3e5dc;display:grid;grid-template-columns:repeat(3,1fr);padding:9px 14px calc(8px + env(safe-area-inset-bottom));z-index:20}.bottom-nav button{display:flex;flex-direction:column;gap:5px;align-items:center;justify-content:center;font-size:11px;color:#59674f;min-height:52px}.bottom-nav button svg{width:21px;height:21px}.bottom-nav .selected{color:var(--green);font-weight:650}.bottom-nav .selected svg{background:#e1ead9;box-shadow:0 0 0 7px #e1ead9;border-radius:5px;margin-bottom:3px}.section-heading h2{font-size:18px}.empty{padding:38px 10px}}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto!important}}.brand{padding:0}.topbar-right{display:flex;align-items:center;gap:18px}.demo-badge{border:1px solid #dbe1d2;border-radius:30px;padding:6px 11px;color:#58694b;font-size:12px;background:#edf1e6}.local-label{display:flex;gap:7px;align-items:center;font-size:11px;white-space:nowrap}.local-label>span{width:5px;height:5px;border-radius:50%;background:#668052}.date-nav{background:#fff9;border:1px solid var(--line);border-radius:12px;gap:0}.date-nav button{width:34px;display:flex;align-items:center;justify-content:center}.date-nav button:disabled{opacity:.3;cursor:default}.date-picker{position:relative;display:flex;align-items:center;justify-content:center;width:40px;height:44px}.date-picker input{opacity:0;position:absolute;top:0;right:0;bottom:0;left:0;width:100%;cursor:pointer}.date-picker input::-webkit-calendar-picker-indicator{position:absolute;top:0;right:0;bottom:0;left:0;width:auto;height:auto;cursor:pointer}.date-picker:focus-within{outline:2px solid var(--green);border-radius:5px}.back-today{margin:-14px 0 22px}.timeline{margin-top:6px}.timeline-entry{display:flex;width:100%;align-items:center;gap:16px;text-align:left;padding:23px 0;position:relative;min-height:100px}.timeline-entry:not(:last-child):before{content:"";position:absolute;left:79px;top:62px;bottom:-36px;width:1px;background:#dfe5d9}.timeline-entry time{font-size:13px;color:#59674f;min-width:44px;align-self:center;font-variant-numeric:tabular-nums}.timeline-symbol{background:#e9eedf;border-radius:50%;color:#5a7445;display:flex;align-items:center;justify-content:center;min-width:39px;height:39px;z-index:1}.symptom-entry .timeline-symbol{background:#f1e2d7;color:#915138}.timeline-copy{flex:1;min-width:0}.timeline-copy strong{font-size:16px;display:block;font-weight:550;line-height:1.4}.timeline-copy>small{display:block;font-size:13px;color:#59674f;line-height:1.5;margin-top:5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.start-label{font-size:12px;color:#59674f;margin-left:8px;font-weight:400}.timeline-entry>svg{color:#59674f}.timeline-entry:hover .timeline-copy strong{color:var(--green)}.timeline-footnote{font-size:12px;color:#59674f;display:flex;gap:7px;align-items:center;border-top:1px solid var(--line);padding-top:24px;margin-top:16px}.documentation-note{display:flex;gap:14px;align-items:center;padding:28px 9px}.documentation-note .count{font-size:38px;font-weight:400;color:#59674f;letter-spacing:-.05em}.documentation-note strong{font-size:13px;font-weight:550}.documentation-note p{font-size:11px;color:#59674f;margin:5px 0 0}.active-section{margin-bottom:35px}.active-card{padding:20px 24px;background:#faf0e7;border:1px solid #e9d4c2;border-radius:16px;margin-bottom:12px}.active-top{display:flex;align-items:center;gap:14px}.symptom-symbol{color:#59674f;display:flex}.active-top h3{margin:0 0 6px}.active-top p{font-size:13px;margin:0;color:#59674f}.intensity-pill{margin-left:auto;background:#efd9c5;border-radius:10px;padding:8px 13px;color:#815136;font-size:24px;white-space:nowrap}.intensity-pill small{font-size:12px;margin-left:4px}.active-actions{display:flex;gap:12px;margin-top:16px;padding-left:34px}.active-actions button{border:1px solid #d9c5b2;border-radius:9px;padding:6px 15px;font-size:13px;display:flex;align-items:center;gap:6px}.active-actions button:last-child{background:#fffbf7}.day-complete{border:1px solid #e1e5db;border-radius:13px;padding:17px 16px;margin-top:25px;display:flex;align-items:flex-start;gap:10px;background:#f0f2eb;cursor:pointer}.day-complete strong{display:block;font-size:13px}.day-complete small{display:block;font-size:12px;line-height:1.5;color:#59674f;margin-top:6px}.day-complete>svg{display:none;color:var(--green)}.day-complete input{margin-top:2px;accent-color:var(--green);width:18px;height:18px;flex-shrink:0}.page-emblem{width:58px;height:58px;background:#e9eedf;color:#5d7650;border-radius:17px;display:flex;align-items:center;justify-content:center}.insight-controls{display:grid;grid-template-columns:1.3fr 1fr;gap:20px;margin-top:33px}.field{display:flex;flex-direction:column;gap:10px;margin-bottom:23px}.field>span{font-size:14px;font-weight:550}.field input,.field select,.inline-input input,.point-row input{width:100%;min-width:0;min-height:48px;background:#fff;border:1px solid #d9ded3;border-radius:10px;padding:12px 13px;color:#2c3e31;outline-offset:2px}.field input::placeholder,.search input::placeholder{color:#59674f}.field select{-webkit-appearance:auto;-moz-appearance:auto;appearance:auto;padding-right:30px}.data-note{display:flex;gap:15px;align-items:center;padding:18px 20px;background:#ebefe4;border-radius:13px;margin:4px 0 30px}.data-note-icon{color:#59674f}.data-note strong{font-size:14px;font-weight:550}.data-note p{margin:4px 0 0;font-size:12px;color:#65725e}.tabs{display:flex;gap:26px;border-bottom:1px solid var(--line);margin-bottom:25px}.tabs button{font-size:14px;min-height:48px;padding:0 2px 10px;color:#59674f;border-bottom:2px solid transparent}.tabs button[aria-pressed=true]{border-bottom-color:var(--green);color:var(--green);font-weight:600}.group-hint{font-size:13px;color:var(--muted);margin:0 0 25px}.insight-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.insight-card{display:block;width:100%;text-align:left;border:1px solid #dfe3d9;background:#fdfdf9;border-radius:16px;padding:23px;transition:box-shadow .2s}.insight-card:hover{box-shadow:0 5px 24px #20372009}.insight-card.notable{background:#f7f1e9;border-color:#dcc7b3}.insight-card-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:22px}.insight-card-top>svg{color:#59674f}.badge{display:inline-flex;font-size:11px;font-weight:600;letter-spacing:.015em;padding:6px 10px;border-radius:6px;line-height:1.3}.badge.notable{background:#eddbc7;color:#7d4c2e}.badge.watch{background:#ede8c6;color:#706320}.badge.normal{background:#e4ecdb;color:#46613c}.badge.unknown{background:#eaece6;color:#65705d}.insight-card h2{font-size:23px;font-weight:550;margin-bottom:21px}.insight-stats{display:flex;gap:28px;align-items:center}.insight-stats>div{min-width:0;flex:1}.insight-stats strong{display:block;font-size:31px;font-weight:500;letter-spacing:-.04em}.insight-stats strong span{color:#59674f;font-size:20px;font-weight:400}.insight-stats small{display:block;font-size:12px;color:#59674f;margin-top:6px;overflow-wrap:anywhere}.versus{font-size:12px;color:#59674f}.metric-caption{font-size:11px;color:#59674f;margin:15px 0 12px}.mini-bars{display:flex;flex-direction:column;gap:5px;height:13px}.mini-bars span{height:4px;background:#aa7954;border-radius:3px;min-width:2px}.mini-bars span+span{background:#92a37c}.insight-note{font-size:12px;color:#59674f;line-height:1.6;margin:18px 0;min-height:38px}.insight-card-footer{border-top:1px solid #e2e3d8;padding-top:14px;display:flex;justify-content:space-between;gap:8px;font-size:10px;color:#59674f;align-items:center}.insight-card-footer span{display:flex;align-items:center;font-weight:550;color:#4a6340;gap:4px}.analysis-footer{display:flex;align-items:center;gap:8px;font-size:12px;color:#59674f;margin-top:28px}.demo-inline{font-size:10px;border:1px solid #d8d5b6;padding:4px 5px;margin-left:8px;vertical-align:middle;border-radius:4px;font-weight:500}.search{display:flex;align-items:center;border:1px solid #dce0d5;border-radius:11px;background:#fff;padding:0 14px;color:#59674f;gap:10px}.search input{border:0;background:none;min-width:0;width:100%;min-height:48px;padding:10px 0;color:#283a2b;font-size:14px}.search:focus-within{outline:2px solid #6f8662;outline-offset:1px}.search input:focus{outline:none}.dish-search{margin:35px 0;max-width:480px}.dish-favorites{margin-bottom:35px}.dish-favorite-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:13px}.dish-favorite{display:flex;flex-direction:column;text-align:left;position:relative;background:#edf1e6;border-radius:14px;padding:20px 16px;align-items:flex-start;min-height:161px}.dish-avatar{min-width:45px;height:45px;background:#e8eddf;color:#59674f;border-radius:13px;display:flex;align-items:center;justify-content:center}.dish-favorite .dish-avatar{background:#dfe7d4;margin-bottom:16px}.dish-favorite strong{font-weight:550;font-size:14px;line-height:1.4}.dish-favorite small{margin-top:6px;color:#59674f;font-size:11px}.dish-favorite>svg{position:absolute;right:12px;top:21px;color:#59674f}.dish-row{display:flex;align-items:center;gap:15px;border-bottom:1px solid var(--line);padding:13px 0}.dish-open{display:flex;align-items:center;gap:17px;flex:1;text-align:left;min-width:0;padding:8px 0}.dish-open>span:last-child{min-width:0}.dish-open strong{display:block;font-size:16px;font-weight:550}.dish-open small{display:block;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;font-size:13px;color:#59674f;max-width:600px;margin-top:7px}.favorite-toggle{width:44px;min-width:44px;display:flex;align-items:center;justify-content:center;color:#59674f}.favorite-toggle.on{color:#59674f}.sheet{border:0;padding:0;width:min(560px,calc(100% - 32px));max-height:88dvh;border-radius:22px;color:#25332d;background:#fafbf6;box-shadow:0 24px 100px #16251930;overflow-y:auto}.sheet::backdrop{background:#15241cb3;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.sheet-content{padding:28px 30px 30px}.sheet-header{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:25px}.sheet-header h2{font-size:23px;margin:0;font-weight:550;letter-spacing:-.035em}.sheet-header .icon-button{border:0;background:#edf0e7}.form-fieldset{border:0;padding:0;margin:0;min-width:0}.full{width:100%}.form-footer{margin-top:25px;display:flex;align-items:center;flex-direction:column;gap:14px}.switch-row{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:17px 0;border-bottom:1px solid var(--line);font-size:14px}.switch-row span small{display:block;font-size:12px;color:#59674f;margin-top:5px;line-height:1.5}.switch-row input{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:39px;min-width:39px;height:24px;border-radius:20px;background:#c9d0c1;position:relative;cursor:pointer}.switch-row input:before{content:"";width:18px;height:18px;border-radius:50%;background:#fff;position:absolute;top:3px;left:3px;box-shadow:0 1px 4px #0002;transition:transform .15s}.switch-row input:checked{background:#476849}.switch-row input:checked:before{transform:translate(15px)}.ingredient-chips{display:flex;flex-wrap:wrap;gap:6px}.ingredient-chips:empty{display:none}.chip{min-height:36px;background:#e8eddf;border:1px solid #dce3d2;padding:6px 10px;border-radius:8px;font-size:13px;display:flex;align-items:center;gap:7px;color:#536d43}.suggestions{border:1px solid #dce1d4;border-radius:11px;background:#fff;overflow:hidden;margin-top:-4px;box-shadow:0 6px 20px #23391b08}.suggestions button{display:flex;width:100%;padding:12px 15px;align-items:center;justify-content:space-between;text-align:left;font-size:14px;border-bottom:1px solid #f0f2eb;gap:9px}.suggestions button:hover{background:#eef2e6}.suggestions .create-ingredient{font-size:13px;justify-content:flex-start;color:#456e3b;background:#f1f5e9}.form-section{margin:25px 0 15px;font-size:15px}.favorite-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.favorite-tile{background:#eaf0e1;border:1px solid #dce6d0;padding:17px 13px;border-radius:12px;display:flex;align-items:center;gap:9px;text-align:left;font-size:13px;color:#49653c}.favorite-tile strong{font-weight:550;flex:1}.helper{font-size:11px;color:#59674f;margin:12px 0 0}.list-row{display:flex;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid #e7ebdf;width:100%;text-align:left;font-size:14px}.list-row:last-child{margin-bottom:24px}.list-row>span:nth-child(2){flex:1;min-width:0}.list-row small{display:block;font-size:11px;color:#59674f;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:360px;margin-top:5px}.mini-icon{display:flex;justify-content:center;align-items:center;width:34px;height:36px;border-radius:9px;background:#edf1e6;color:#59674f}.type-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-bottom:16px}.type-grid button{border:1px solid #dfe3d7;background:#fff;border-radius:9px;font-size:14px;text-align:left;padding:10px 12px;display:flex;align-items:center;justify-content:space-between;gap:5px}.type-grid .chosen{border-color:#74915e;background:#edf3e5;color:#355b29}.inline-input{display:flex;gap:8px;align-items:center}.inline-input input{flex:1;min-width:0}.intensity{padding:24px 0 27px;margin:16px 0}.intensity>label{font-size:14px;font-weight:550}.intensity-number{font-size:60px;letter-spacing:-.06em;font-weight:400;color:#8d6244;text-align:center;margin:10px 0 12px}.intensity-number span{font-size:19px;color:#59674f;margin-left:8px;letter-spacing:0}.intensity input{width:100%;accent-color:#946144;height:28px;cursor:pointer}.range-labels{display:flex;justify-content:space-between;font-size:12px;color:#59674f;margin-top:8px}.point-row{display:flex;gap:8px;margin-bottom:10px;align-items:center}.point-row input:first-child{flex:1;min-width:0;font-size:13px;padding:9px}.point-row input:nth-child(2){width:60px;text-align:center}.point-row button{color:#59674f;padding:10px}.point-chart{display:flex;align-items:flex-end;gap:10px;height:122px;margin-bottom:27px;padding:10px 0 22px;border-bottom:1px solid var(--line)}.point-chart>div{min-width:30px;max-width:65px;flex:1;background:#e4ccb7;border-radius:5px 5px 0 0;position:relative;text-align:center;display:flex;align-items:center;justify-content:center;color:#79543a}.point-chart strong{font-size:13px;font-weight:500}.point-chart small{position:absolute;bottom:-19px;font-size:10px;color:#59674f;white-space:nowrap}.danger{color:#a44c33}.error-banner{background:#fae6dc;color:#873b25;padding:14px 17px;border-radius:10px;font-size:14px;display:flex;justify-content:space-between;align-items:center}.toast{position:fixed;z-index:50;bottom:28px;left:calc(50% + 90px);transform:translate(-50%);padding:13px 20px;border-radius:12px;background:#264b3d;color:#fff;box-shadow:0 6px 30px #20352622;display:flex;align-items:center;gap:10px;font-size:14px;max-width:90%;white-space:nowrap}.detail-heading>h3{font-size:24px;margin:20px 0 12px;font-weight:500}.detail-heading>p{font-size:14px;color:#59674f}.comparison-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:22px 0}.comparison{border:1px solid #e1e5d8;background:#f0f2e9;border-radius:13px;padding:18px}.comparison>span{font-size:12px;display:block;color:#637254}.comparison>strong{display:block;font-size:37px;font-weight:500;margin:15px 0 4px}.comparison>strong small{font-size:20px;color:#59674f}.comparison p{font-size:11px;margin:0 0 13px;color:#59674f}.rate-track{height:5px;border-radius:3px;background:#e0e4d7;margin-bottom:12px;overflow:hidden}.rate-track div{height:100%;border-radius:3px}.comparison>small{font-size:10px;color:#59674f}.detail-facts{margin:25px 0}.detail-facts>div{display:flex;justify-content:space-between;gap:15px;padding:12px 0;border-bottom:1px solid #e3e8da;font-size:12px}.detail-facts span{color:#59674f}.detail-facts strong{font-weight:550;text-align:right}.method{background:#f0f3e9;border-radius:12px;padding:15px 17px;color:#59674f}.method summary{font-size:13px;font-weight:550;cursor:pointer;line-height:1.6}.method p{font-size:12px}.method p:first-of-type{margin-top:15px}.detail-events-head{margin-top:30px;align-items:center}.detail-events-head h3{font-size:15px;margin:0}.compact-check{font-size:11px;color:#59674f;display:flex;align-items:center;gap:4px}.compact-check input{accent-color:var(--green);width:16px;height:16px}.observation{display:flex;gap:16px;align-items:flex-start;border-bottom:1px solid var(--line);padding:16px 0}.observation>span{font-size:12px;color:#59674f;padding-top:3px}.observation>div{flex:1}.observation strong{font-size:13px;font-weight:550;display:block}.observation small{font-size:11px;color:#59674f;display:block;margin-top:5px}.observation p{font-size:11px;color:#59674f;margin:10px 0 0}.observation>svg{color:#59674f;margin-top:2px}.observation p.warm-text{color:#59674f}.settings-intro{padding:20px;border-radius:14px;background:#edf2e5;color:#536f40}.settings-intro h3{margin:15px 0 10px}.settings-intro p,.settings-section p{font-size:13px;color:#59674f;line-height:1.7}.settings-intro p{margin:0}.settings-section{margin:28px 0}.settings-section h3{font-size:16px}.settings-actions{display:flex;flex-direction:column;gap:10px}.secondary{display:flex;align-items:center;justify-content:center;gap:9px;padding:12px 16px;border-radius:9px;background:#fff;border:1px solid #dce3d2;font-size:13px}.reset-confirm{background:#f4e5da;color:#8b5735;border-radius:12px;padding:18px;margin-top:15px;font-size:13px}.reset-confirm>div{display:flex;gap:10px}.reset-confirm p{color:#8d6045}.settings-details{border-bottom:1px solid var(--line);padding:18px 0}.settings-details summary{cursor:pointer;font-size:14px}.settings-details summary span{float:right;color:#59674f}.manage-row{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #e5eadc;padding:5px 0;font-size:13px}.manage-row>button:first-child{text-align:left;flex:1}.manage-row>button:last-child{color:#59674f}.version{font-size:11px;color:#59674f;border-top:1px solid var(--line);padding-top:20px;margin-bottom:0}.loading-state{text-align:center;margin:100px auto;color:#59674f}.loading-ring{width:32px;height:32px;border-radius:50%;border:3px solid #dee5d4;border-top-color:#567740;animation:spin 1s linear infinite;margin:0 auto 20px}@keyframes spin{to{transform:rotate(360deg)}}@media(max-width:1100px){.dish-favorite-grid{grid-template-columns:repeat(2,1fr)}.insight-card-footer{flex-wrap:wrap}.insight-stats{gap:15px}.insight-card{padding:21px}.dish-open small{max-width:400px}}@media(max-width:700px){.topbar>span{max-width:125px;line-height:1.7}.topbar-right{gap:9px}.demo-badge{font-size:10px;padding:5px 8px}.date-nav{margin-top:29px}.timeline-entry{gap:12px;padding:21px 0}.timeline-entry time{font-size:12px;min-width:37px}.timeline-symbol{min-width:34px;height:34px}.timeline-entry:not(:last-child):before{left:65px}.timeline-copy strong{font-size:14px}.timeline-copy>small{font-size:12px;max-width:100%}.timeline-entry>svg{width:13px}.timeline-footnote{font-size:11px}.active-card{padding:17px}.active-top{gap:11px}.active-top p{font-size:12px}.active-top h3{font-size:15px}.active-actions{padding-left:0;gap:10px}.active-actions button{flex:1;justify-content:center;font-size:12px;padding:8px}.intensity-pill{font-size:22px;padding:7px 10px}.page-emblem{display:none}.insight-controls{grid-template-columns:1fr;gap:0;margin-top:28px}.insight-controls .field{margin-bottom:19px}.field>span{font-size:13px}.data-note{padding:17px 15px;margin-bottom:20px;gap:12px}.data-note p{font-size:11px}.tabs{gap:18px}.tabs button{font-size:12px}.insight-grid{grid-template-columns:1fr;gap:15px}.insight-card{padding:21px}.insight-card-top{margin-bottom:17px}.insight-card h2{margin-bottom:19px}.insight-stats{gap:32px}.insight-stats strong{font-size:34px}.insight-note{min-height:0;font-size:12px}.insight-card-footer{font-size:10px}.analysis-footer{align-items:flex-start;font-size:11px;line-height:1.5}.add-dish{border-radius:50%;width:45px;height:45px;min-height:45px;padding:0;margin-top:30px}.add-dish span{display:none}.dish-search{margin:28px 0}.dish-favorite-grid{grid-template-columns:1fr 1fr}.dish-favorite{padding:18px 14px;min-height:159px}.dish-favorite strong{font-size:13px}.dish-open{gap:12px}.dish-open strong{font-size:14px}.dish-open small{font-size:12px;max-width:220px}.dish-avatar{min-width:42px;height:42px}.dish-row{gap:5px}.sheet{width:100%;max-width:100%;max-height:93dvh;margin:auto 0 0;border-radius:23px 23px 0 0;overscroll-behavior:contain}.sheet-content{padding:24px 22px calc(28px + env(safe-area-inset-bottom))}.sheet-header h2{font-size:22px}.toast{bottom:calc(85px + env(safe-area-inset-bottom));left:50%;font-size:13px;white-space:normal;min-width:160px;justify-content:center}.comparison{padding:16px 13px}.comparison-grid{gap:10px}.detail-events-head{gap:8px}.detail-events-head h3{font-size:14px}.compact-check{font-size:10px}.point-row input:first-child{font-size:12px;padding:9px 5px}.point-row input:nth-child(2){width:48px;padding:9px 3px}.point-row{gap:4px}.favorite-tile{padding:15px 10px;font-size:12px}.favorite-tile>svg:first-child{width:15px}.type-grid button{font-size:13px}.detail-facts{font-size:11px}.sheet .field input{font-size:16px}.point-row button{padding:8px}.list-row small{max-width:240px}}@media(max-width:370px){.topbar{padding:0 16px}.topbar>span{max-width:100px;font-size:9px}.date-nav button{width:27px}.date-picker{width:33px}.action{padding:16px 12px}.action small{font-size:10px}.sheet-content{padding-left:17px;padding-right:17px}.dish-open small{max-width:180px}.insight-stats{gap:20px}.page-head h1{font-size:38px}}
/* =========================================================
   MOBILE OVERFLOW FIX
   Verhindert horizontales Scrollen auf iPhone / Mobile
   ========================================================= */

html {
    width: 100%;
    max-width: 100%;
    overflow-x: clip;
}

body {
    width: 100%;
    max-width: 100%;
    overflow-x: clip;
}

/* Flex- und Grid-Container dürfen schrumpfen */
.app,
.workspace,
.workspace main,
.page-head,
.actions,
.today-grid,
.section-heading,
.topbar,
.topbar-right,
.timeline,
.timeline-entry,
.timeline-copy,
.active-card,
.active-top,
.active-actions,
.insight-controls,
.insight-grid,
.insight-card,
.insight-stats,
.dish-row,
.dish-open,
.sheet-content {
    min-width: 0;
}

/* Kinder von Grid/Flex dürfen ebenfalls unter ihre
   intrinsische Inhaltsbreite schrumpfen */
.actions > *,
.today-grid > *,
.page-head > *,
.section-heading > *,
.topbar > *,
.topbar-right > *,
.timeline-entry > *,
.active-top > *,
.active-actions > *,
.insight-grid > *,
.insight-stats > *,
.dish-row > *,
.dish-open > * {
    min-width: 0;
}

/* Medien können niemals breiter als ihr Container werden */
img,
svg,
video,
canvas {
    max-width: 100%;
}

/* Lange Inhalte umbrechen, statt den Viewport aufzuziehen */
p,
small,
strong,
span,
h1,
h2,
h3 {
    overflow-wrap: break-word;
}


/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width: 700px) {

    .app,
    .workspace {
        width: 100%;
        max-width: 100%;
    }

    .workspace {
        margin-left: 0;
    }

    .workspace main {
        width: 100%;
        max-width: 100%;
        min-width: 0;
    }

    /* Zwei Aktionskarten müssen exakt in den Viewport passen */
    .actions {
        width: 100%;
        max-width: 100%;
        grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    }

    .action {
        width: 100%;
        min-width: 0;
        max-width: 100%;
    }

    .action strong,
    .action small {
        max-width: 100%;
        overflow-wrap: break-word;
    }

    /* Header */
    .topbar {
        width: 100%;
        max-width: 100%;
    }

    .topbar-right {
        min-width: 0;
        max-width: 100%;
    }

    .local-label {
        min-width: 0;
        max-width: 100%;
    }

    /* Datum / Seitenkopf */
    .page-head {
        width: 100%;
        max-width: 100%;
    }

    .date-nav {
        flex-shrink: 0;
        max-width: 100%;
    }

    /* Tagesverlauf */
    .today-grid {
        width: 100%;
        max-width: 100%;
        grid-template-columns: minmax(0, 1fr);
    }

    .timeline-entry {
        width: 100%;
        max-width: 100%;
    }

    .timeline-copy {
        min-width: 0;
        max-width: 100%;
    }

    /* Analyse */
    .insight-controls,
    .insight-grid {
        width: 100%;
        max-width: 100%;
        grid-template-columns: minmax(0, 1fr);
    }

    .insight-card {
        width: 100%;
        max-width: 100%;
        min-width: 0;
    }

    /* Gerichte */
    .dish-row,
    .dish-open {
        width: 100%;
        max-width: 100%;
        min-width: 0;
    }

    /* Dialog / Bottom Sheet */
    .sheet {
        width: 100%;
        max-width: 100%;
    }

    .sheet-content {
        width: 100%;
        max-width: 100%;
        min-width: 0;
    }

    /* Fixed Bottom Navigation */
    .bottom-nav {
        width: 100%;
        max-width: 100%;
        box-sizing: border-box;
    }

    /* Toast darf ebenfalls nicht über den Viewport hinaus */
    .toast {
        max-width: calc(100vw - 32px);
    }
}


/* =========================================================
   SEHR KLEINE DISPLAYS
   ========================================================= */

@media (max-width: 370px) {

    .actions {
        grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    }

    .action {
        min-width: 0;
    }

    .action strong,
    .action small {
        overflow-wrap: anywhere;
    }
}

/* =========================================================
   MOBILE DIALOG / BOTTOM-SHEET OVERFLOW FIX
   ========================================================= */

@media (max-width: 700px) {

    dialog.sheet {
        box-sizing: border-box;
        width: 100%;
        max-width: 100vw;
        min-width: 0;

        margin: auto 0 0 0;
        padding: 0;

        left: 0;
        right: 0;

        overflow-x: clip;
    }

    .sheet-content,
    .sheet-header,
    .form-fieldset,
    .field,
    .form-footer {
        box-sizing: border-box;
        width: 100%;
        max-width: 100%;
        min-width: 0;
    }

    .sheet-header > * {
        min-width: 0;
    }

    .sheet input,
    .sheet select,
    .sheet textarea,
    .sheet button {
        box-sizing: border-box;
        max-width: 100%;
        min-width: 0;
    }

    /* iOS/Safari: datetime-local kann sonst
       seine eigene Mindestbreite erzwingen */
    .sheet input[type="datetime-local"],
    .sheet input[type="date"],
    .sheet input[type="time"] {
        display: block;
        width: 100%;
        max-width: 100%;
        min-width: 0;
        -webkit-appearance: none;
        appearance: none;
    }

    .sheet .primary.full {
        width: 100%;
        max-width: 100%;
        min-width: 0;
    }
}
