:root{font-family:Inter,Segoe UI,Arial,Helvetica,sans-serif;color:#172033;background:#f6f8fb;line-height:1.45;font-weight:400}*{box-sizing:border-box}html,body,#root{margin:0;min-height:100%}body{background:#f6f8fb;color:#172033;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}h1,h2,h3,h4,strong{font-weight:650}html{scroll-behavior:smooth}button,input,select,textarea{font:inherit}.page{min-height:100vh;padding:20px}.login-page{display:flex;align-items:center;justify-content:center}.login-box{width:100%;max-width:560px}.badge{display:inline-block;background:#fff;color:#475569;padding:8px 13px;border-radius:999px;font-size:13px;box-shadow:0 2px 10px #0f172a0a;margin-bottom:18px}.main-title{margin:0 0 12px;font-size:36px;line-height:1.15;font-weight:650}.main-text{margin:0 0 24px;font-size:17px;color:#475569}.app-container{width:100%;max-width:1160px;margin:0 auto}.day-dashboard{margin-bottom:18px;border:1px solid #e7edf5;border-radius:12px;background:#fff;padding:16px;box-shadow:0 3px 14px #0f172a0b}.dashboard-hero{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:18px;align-items:center}.dashboard-hero h2{margin:0;font-size:28px;line-height:1.1;font-weight:650}.dashboard-hero p{max-width:620px;margin:8px 0 0;color:#475569}.dashboard-score{width:116px;height:116px;display:inline-flex;flex-direction:column;align-items:center;justify-content:center;border-radius:12px;background:#111827;color:#fff;box-shadow:0 8px 20px #0f172a24}.dashboard-score strong{font-size:31px;line-height:1}.dashboard-score span{margin-top:4px;color:#cbd5e1;font-size:13px}.dashboard-progress-row,.dashboard-macros{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:14px}.dashboard-macros{grid-template-columns:repeat(4,minmax(0,1fr))}.dashboard-progress-row div,.dashboard-macros div{min-width:0;border:1px solid #e7edf5;border-radius:10px;background:#fbfcfe;padding:10px}.dashboard-progress-row span,.dashboard-macros span{display:block;color:#64748b;font-size:12px}.dashboard-progress-row strong,.dashboard-macros strong{display:block;margin-top:4px;color:#0f172a;font-size:15px;font-weight:600}.dashboard-progress{height:12px;margin-top:14px;overflow:hidden;border-radius:999px;background:#e2e8f0}.dashboard-progress span{display:block;height:100%;max-width:100%;border-radius:inherit;background:linear-gradient(90deg,#14b8a6,#2563eb)}.quick-actions{display:grid;grid-template-columns:1.2fr repeat(4,minmax(0,1fr));gap:10px;margin-top:16px}.quick-action{min-height:46px;border:1px solid #dfe7f1;border-radius:10px;background:#fff;color:#0f172a;cursor:pointer;font-weight:600;box-shadow:0 2px 9px #0f172a09}.quick-action.primary{border-color:#0f766e;background:#0f766e;color:#fff}.meal-strip{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin-top:14px}.meal-strip button{min-width:0;border:1px solid #e2e8f0;border-radius:10px;background:#fff;color:#0f172a;padding:10px;text-align:left;cursor:pointer}.meal-strip span,.meal-strip strong{display:block}.meal-strip span{color:#64748b;font-size:12px}.meal-strip strong{margin-top:4px;font-size:14px}.app-content{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:18px;align-items:start}.app-main{min-width:0}.desktop-day-panel{position:sticky;top:16px}.desktop-day-panel .side-panel{box-shadow:0 4px 16px #0f172a0b}.topbar{position:relative;display:flex;justify-content:space-between;align-items:flex-start;gap:16px;background:#fff;border:1px solid #e7edf5;border-radius:12px;padding:20px 72px 20px 20px;box-shadow:0 3px 12px #0f172a0a;margin-bottom:20px}.topbar-main{display:flex;align-items:center;gap:12px;min-width:0}.topbar-small{font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:#94a3b8;margin-bottom:4px;font-weight:600}.topbar-title{margin:0;font-size:30px;font-weight:650}.day-switcher{display:inline-grid;grid-template-columns:38px minmax(180px,auto) 38px;align-items:center;border:1px solid #dbe3ee;background:#fff;position:relative}.day-switch-button,.day-date-button{min-height:38px;border:0;background:transparent;color:#0f172a;cursor:pointer}.day-switch-button{color:#64748b;font-size:24px;line-height:1}.day-date-button{grid-column:2;grid-row:1;position:relative;z-index:3;border-left:1px solid #e5e9f0;border-right:1px solid #e5e9f0;padding:0 14px;font-size:20px;font-weight:650;text-align:center}.day-switch-button:hover,.day-date-button:hover{background:#f8fafc}.native-date-input{position:absolute;top:0;right:38px;bottom:0;left:38px;z-index:2;width:auto;height:100%;opacity:0;pointer-events:none;cursor:pointer}.topbar-text{margin-top:8px;color:#64748b;font-size:14px}.menu-button{position:absolute;top:16px;right:16px;width:44px;height:44px;display:inline-flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;background:#0f172a;color:#fff;border:0;border-radius:10px;cursor:pointer;box-shadow:0 4px 14px #0f172a21}.menu-button span{width:19px;height:2px;border-radius:999px;background:currentColor}.report-button{align-self:center;min-height:42px;border:1px solid #d8e0eb;background:#fff;color:#0f172a;padding:0 16px;font-weight:650;cursor:pointer}.report-button:hover{background:#f8fafc;border-color:#aab7c8}.calendar-button{width:42px;height:42px;flex:0 0 auto;background:#e0f2fe;color:#075985;border:0;border-radius:10px;font-size:19px;cursor:pointer}.side-menu-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:55;border:0;background:#0f172a75;cursor:pointer;animation:menu-fade .2s ease-out both}.side-menu{position:fixed;top:0;right:0;width:min(460px,100vw);height:100dvh;background:#f7f9fc;color:#0f172a;box-shadow:-8px 0 28px #0f172a29;transform:translate(104%);transition:transform .28s ease;z-index:60;padding:18px;overflow-y:auto}.side-menu.open{transform:translate(0)}.side-menu-header{position:sticky;top:0;z-index:2;display:flex;justify-content:space-between;align-items:center;gap:14px;margin:-18px -18px 14px;padding:18px;background:#f8fafcf0;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid #e2e8f0}.side-menu-title{font-size:22px;font-weight:650}.side-menu-close{width:42px;height:42px;border:0;border-radius:10px;background:#e2e8f0;color:#0f172a;cursor:pointer;font-size:24px;line-height:1}.side-menu-body{display:flex;flex-direction:column;gap:14px;padding-bottom:18px}.side-panel{border:1px solid #e7edf5;border-radius:12px;background:#fff;padding:14px;box-shadow:0 2px 10px #0f172a09}.side-panel-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;margin-bottom:12px}.side-panel-head h3{margin:0;font-size:19px;font-weight:650}.side-panel-head>strong{min-width:42px;height:42px;display:inline-flex;align-items:center;justify-content:center;border-radius:10px;background:#0f172a;color:#fff}.side-eyebrow{margin-bottom:3px;color:#64748b;font-size:11px;font-weight:650;letter-spacing:.12em;text-transform:uppercase}.side-progress,.side-metric-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.side-progress div,.side-metric-grid div{border:1px solid #e7edf5;border-radius:10px;background:#fbfcfe;padding:9px 10px}.side-progress span,.side-metric-grid span{display:block;color:#64748b;font-size:12px}.side-progress strong,.side-metric-grid strong{display:block;margin-top:3px;color:#0f172a}.goal-progress{height:10px;margin:12px 0;overflow:hidden;border-radius:999px;background:#e2e8f0}.goal-progress span{display:block;height:100%;max-width:100%;border-radius:inherit;background:linear-gradient(90deg,#14b8a6,#2563eb)}.goal-status{margin:12px 0;border-radius:10px;background:#eff6ff;color:#1d4ed8;padding:11px 12px;font-size:14px}.side-meal-list{display:flex;flex-direction:column;gap:7px}.side-meal-row{display:flex;justify-content:space-between;gap:10px;border-top:1px solid #edf2f7;padding-top:8px;color:#475569;font-size:14px}.side-meal-row strong{color:#0f172a;white-space:nowrap}@keyframes menu-fade{0%{opacity:0}to{opacity:1}}.profile-setup-page{display:flex;align-items:center;justify-content:center}.profile-setup-panel{width:100%;max-width:760px;background:#fff;border-radius:12px;padding:22px;box-shadow:0 6px 24px #0f172a12}.profile-intro{margin-bottom:20px}.profile-title{margin:0 0 10px;font-size:30px;line-height:1.15;font-weight:650}.profile-text{margin:0;color:#64748b;font-size:16px}.profile-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.profile-readonly{background:#f8fafc;color:#475569}.profile-logout-button{margin-top:10px}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#02061773;display:flex;align-items:center;justify-content:center;z-index:70}.calendar-modal{background:#fff;color:#0f172a;border-radius:12px;padding:18px;width:320px;box-shadow:0 8px 24px #0206172e}.accordion-stack{display:flex;flex-direction:column;gap:10px}.accordion{border-radius:12px;overflow:hidden;border:1px solid #e7edf5;box-shadow:0 2px 10px #0f172a09;scroll-margin-top:16px}.accordion-header{width:100%;border:0;color:#0f172a;text-align:left;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center}.accordion-toggle{min-width:0;border:0;background:transparent;color:inherit;padding:16px 18px;text-align:left;cursor:pointer;touch-action:manipulation;display:flex;align-items:center;justify-content:space-between;gap:14px}.accordion-header-actions{display:flex;align-items:center;padding:0 12px 0 0}.accordion-action-button{border:1px solid #cbd5e1;border-radius:8px;background:#fff;color:#172033;padding:8px 12px;cursor:pointer;font-size:13px;font-weight:650;white-space:nowrap}.accordion-action-button:hover{border-color:#0f766e;background:#f0fdfa}.accordion-title{font-size:21px;font-weight:620}.accordion-subtitle{margin-top:5px;font-size:13px;opacity:.9}.accordion-arrow{font-size:24px;line-height:1;transition:transform .2s ease}.accordion-arrow.open{transform:rotate(180deg)}.accordion-body{background:#fff;padding:12px;animation:accordion-enter .24s ease-out both;transform-origin:top center}.inner-section{overflow:hidden;margin-bottom:8px;border:1px solid #e6eaf0;border-radius:8px;background:#fff}.inner-section:last-child{margin-bottom:0}.inner-section-header{width:100%;border:0;background:#fff;color:#101828;padding:12px 14px;touch-action:manipulation;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center;text-align:left;cursor:pointer}.inner-section-title,.inner-section-subtitle{display:block}.inner-section-title{font-size:16px;font-weight:560}.inner-section-subtitle{margin-top:2px;color:#667085;font-size:12px}.inner-section-arrow{color:#98a2b3;font-size:16px;line-height:1;transition:transform .2s ease}.inner-section-arrow.open{transform:rotate(180deg)}.inner-section-body{padding:12px 14px 14px;border-top:1px solid #eef2f7;animation:accordion-enter .2s ease-out both;transform-origin:top center}.inner-action-row{display:flex;justify-content:flex-end;margin-bottom:12px}.inline-action-row{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}@keyframes accordion-enter{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.panel-teal{background:#f4fbfa}.panel-cyan{background:#f5fbff}.panel-sky{background:#f6f9fe}.panel-blue{background:#f6fafe}.panel-indigo{background:#f7f7ff}.panel-violet{background:#faf7ff}.card{background:#fff;border:1px solid #eef2f7;border-radius:12px;padding:14px;box-shadow:0 2px 10px #0f172a09;margin-bottom:12px}.card:last-child{margin-bottom:0}.card-title{margin:0 0 12px;font-size:19px}.card-title-row{display:flex;gap:10px;justify-content:space-between;align-items:center;margin-bottom:14px}.card-title-row .card-title{margin-bottom:0}.form-group{margin-bottom:14px}.form-row{display:flex;gap:10px;margin-bottom:16px}.label{display:block;margin-bottom:6px;font-size:14px;color:#475569}.input,.textarea{width:100%;border:1px solid #dbe3ee;border-radius:10px;padding:10px 12px;background:#fff;color:#0f172a}.textarea{min-height:140px;resize:vertical}.input:focus,.textarea:focus{outline:none;border-color:#60a5fa}.button{border:0;border-radius:10px;padding:10px 16px;background:#2563eb;color:#fff;cursor:pointer;font-weight:550}.button:hover{opacity:.95}.button-full{width:100%}.button-light{background:#eef2f7;color:#172033}.button-small{width:auto;padding:7px 9px;border-radius:8px;font-size:13px}.empty-box{border:1px dashed #cbd5e1;border-radius:10px;padding:14px;color:#64748b;font-size:14px}.list{display:flex;flex-direction:column;gap:8px}.list-item{border:1px solid #e7edf5;border-radius:10px;padding:10px 12px;display:flex;gap:12px;justify-content:space-between;align-items:flex-start}.list-title{font-weight:600;margin-bottom:4px}.list-subtitle{font-size:14px;color:#64748b}.delete-button{border:0;background:#fee2e2;color:#b91c1c;border-radius:9px;padding:8px 10px;cursor:pointer}.food-search-wrap{position:relative}.food-search-results{position:absolute;left:0;right:0;top:calc(100% - 4px);z-index:20;max-height:260px;overflow:auto;background:#fff;border:1px solid #dbe3ee;border-radius:10px;box-shadow:0 8px 22px #0f172a1f}.food-search-results button{width:100%;border:0;border-bottom:1px solid #edf2f7;background:#fff;color:#0f172a;padding:11px 12px;text-align:left;cursor:pointer;display:flex;gap:10px;justify-content:space-between;align-items:center}.food-search-results button:last-child{border-bottom:0}.food-search-results button:hover{background:#f8fafc}.food-search-results small,.form-hint{color:#64748b;font-size:12px}.search-result-copy{display:flex;min-width:0;flex-direction:column;gap:3px}.search-result-copy>span,.search-result-copy small{min-width:0}.result-type-badge{display:inline-flex;align-items:center;border-radius:999px;padding:2px 7px;margin-right:5px;font-size:11px;font-weight:650}.result-type-badge.food{background:#ecfdf3;color:#027a48}.result-type-badge.recipe{background:#fff7ed;color:#c2410c}.food-badge{display:inline-flex;align-items:center;border-radius:999px;padding:2px 7px;margin-right:5px;background:#e0f2fe;color:#075985;font-size:11px;font-weight:600}.sighi-badge{display:inline-flex;align-items:center;margin-left:5px;border:1px solid #e4e7ec;border-radius:999px;padding:2px 7px;background:#f2f4f7;color:#475467;font-size:11px;font-weight:560;line-height:1.35;white-space:nowrap}.sighi-suggested{border-style:dashed}.sighi-suggested.sighi-0,.sighi-suggested.sighi-1,.sighi-suggested.sighi-2,.sighi-suggested.sighi-3{background:#fff}.sighi-details{display:grid;gap:0;margin:8px 0;border:1px solid #e7edf5;border-radius:8px;background:#f9fbfd}.sighi-details div{display:grid;grid-template-columns:110px minmax(0,1fr);gap:10px;padding:7px 9px;border-top:1px solid #e7edf5}.sighi-details div:first-child{border-top:0}.sighi-details span{color:#64748b;font-size:11px}.sighi-details strong{color:#0f172a;font-size:13px;font-weight:560}.food-edit-notice{margin-bottom:14px;border:1px solid #bfdbfe;border-radius:10px;padding:10px 12px;background:#eff6ff;color:#1d4ed8;font-size:14px}.meal-input-grid{display:grid;grid-template-columns:minmax(0,1fr) 150px;gap:10px}.hydration-panel{display:flex;flex-direction:column;gap:12px}.hydration-top{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.hydration-top div{border:1px solid #d7efe1;background:#f6fbf8;padding:10px 12px}.hydration-top span,.hydration-top strong{display:block}.hydration-top span{color:#667085;font-size:12px}.hydration-top strong{margin-top:4px;color:#14532d;font-size:18px;font-weight:580}.hydration-meter{height:9px;overflow:hidden;background:#eef2f6}.hydration-meter span{display:block;height:100%;max-width:100%;background:#22a06b}.hydration-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.exercise-panel{display:flex;flex-direction:column;gap:8px}.exercise-input-grid{display:grid;grid-template-columns:minmax(0,1fr) 160px;gap:10px;align-items:end}.exercise-manual-grid{display:grid;grid-template-columns:minmax(0,1fr) 150px;gap:10px}.exercise-entry{display:grid;gap:12px}.exercise-entry-grid{display:grid;grid-template-columns:minmax(0,1.15fr) 120px 100px minmax(0,1fr) auto;gap:8px;align-items:center}.exercise-estimate{border:1px solid #d7efe1;background:#f6fbf8;padding:10px 12px}.exercise-total{display:flex;justify-content:space-between;gap:12px;border:1px solid #d7efe1;background:#f6fbf8;padding:10px 12px}.exercise-estimate span,.exercise-estimate strong,.exercise-total span,.exercise-total strong{display:block}.exercise-estimate span,.exercise-total span{color:#667085;font-size:12px}.exercise-estimate strong,.exercise-total strong{margin-top:4px;color:#14532d;font-size:18px;font-weight:580}.histamine-panel{display:flex;flex-direction:column;gap:12px}.histamine-score-card{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px;align-items:center;border:1px solid #e6eaf0;background:#fff;padding:14px}.histamine-score-card span,.histamine-score-card p,.histamine-metrics span,.histamine-explainer p,.histamine-insight p{color:#667085}.histamine-score-card span,.histamine-metrics span{display:block;font-size:12px}.histamine-score-card strong{display:block;margin-top:4px;color:#101828;font-size:20px;font-weight:580}.histamine-score-card p,.histamine-explainer p,.histamine-insight p{margin:8px 0 0;line-height:1.5}.histamine-score{min-width:84px;text-align:right}.histamine-score strong{font-size:30px}.risk-low{border-color:#abefc6}.risk-moderate{border-color:#fedf89}.risk-elevated,.risk-high{border-color:#fecdd6}.histamine-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.histamine-metrics div,.histamine-risk-item,.histamine-meal-row{border:1px solid #e6eaf0;background:#fafbfc;padding:10px 12px}.histamine-metrics strong{display:block;margin-top:4px;color:#101828;font-size:18px;font-weight:580}.histamine-risk-list,.histamine-meal-list{display:grid;gap:8px}.histamine-risk-item,.histamine-meal-row{display:flex;justify-content:space-between;gap:12px;align-items:center}.histamine-risk-item>strong,.histamine-meal-row>strong{color:#101828;white-space:nowrap}.custom-food-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.label-ocr-panel{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center;margin-bottom:14px;border:1px solid #d9e7df;background:#f6fbf8;padding:12px}.label-ocr-panel strong,.label-ocr-panel span{display:block}.label-ocr-panel strong{color:#101828;font-size:15px;font-weight:560}.label-ocr-panel span,.ocr-status{color:#475467;font-size:13px}.ocr-status,.ocr-text-preview{grid-column:1 / -1}.ocr-text-preview summary{color:#14532d;cursor:pointer;font-size:13px;font-weight:560}.ocr-text-preview .textarea{min-height:130px;margin-top:8px;font-size:13px}.inline-error{margin-bottom:12px;border:1px solid #fecaca;border-radius:12px;padding:10px 12px;background:#fef2f2;color:#991b1b;font-size:14px}.meal-totals{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin:12px 0}.meal-totals div{border:1px solid #e7edf5;border-radius:8px;background:#f9fbfd;padding:9px 10px;min-width:0}.meal-totals strong,.meal-totals span{display:block}.meal-totals strong{font-size:14px;color:#0f172a;font-weight:600}.meal-totals span{margin-top:3px;color:#64748b;font-size:12px}.food-value-details{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:0;margin:8px 0;padding:7px 8px;border-radius:8px;background:#f9fbfd;border:1px solid #e7edf5}.food-value-details div{min-width:0;padding:2px 8px;border-left:1px solid #e8eef5}.food-value-details div:first-child{border-left:0}.food-value-details span,.food-value-details strong{display:block}.food-value-details span{color:#64748b;font-size:11px}.food-value-details strong{color:#0f172a;font-size:13px;font-weight:600;line-height:1.25}.editable-meal-item{border:1px solid #e6edf5;border-radius:9px;padding:10px;background:#fff}.meal-item-toggle{width:100%;border:0;background:transparent;color:inherit;padding:0;text-align:left;cursor:pointer;display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.draft-edit-grid{display:grid;grid-template-columns:minmax(0,88px) minmax(0,120px) minmax(0,1fr) auto;gap:7px;align-items:center;margin-top:8px}.saved-meal{border:1px solid #e7edf5;border-radius:10px;padding:10px}.saved-meal-head{display:flex;gap:12px;justify-content:space-between;align-items:flex-start}.saved-meal-actions{display:flex;gap:8px;align-items:center}.meal-item-lines{margin-top:10px;color:#475569;font-size:14px;line-height:1.6}.saved-meal-item{border-top:1px solid #edf2f7;padding:9px 0}.saved-meal-item:first-child{border-top:0}.recipe-library{display:flex;flex-direction:column;gap:12px}.recipe-smart-box{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(240px,.8fr);gap:14px;align-items:start;border:1px solid #e7edf5;border-radius:10px;background:#fbfcfe;padding:12px}.recipe-smart-box h3{margin:0;font-size:18px;font-weight:620}.recipe-smart-box p{margin:8px 0 0;color:#475569;font-size:14px}.recipe-ai-controls{display:grid;grid-template-columns:minmax(0,130px) minmax(0,160px) minmax(0,110px);gap:10px;align-items:end}.recipe-ai-prompt{grid-column:1 / -1}.recipe-filter-grid{display:grid;grid-template-columns:minmax(0,170px) minmax(0,180px) minmax(0,1fr);gap:10px}.recipe-form-grid{display:grid;grid-template-columns:minmax(0,1.3fr) repeat(3,minmax(0,120px));gap:10px}.recipe-card-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.recipe-compact-list{display:flex;flex-direction:column;gap:8px}.recipe-row{border:1px solid #e7edf5;border-radius:9px;background:#fff;overflow:hidden;box-shadow:none}.recipe-row-summary{display:grid;grid-template-columns:minmax(0,1fr) 112px 22px;align-items:center;width:100%;border:0;background:#fff;color:inherit;text-align:left;cursor:pointer;padding:9px 11px;transition:background .18s ease,transform .18s ease}.recipe-row-summary:hover{background:#f8fafc}.recipe-row-summary h4{margin:2px 0 0;font-size:15px;font-weight:620;line-height:1.25}.recipe-row-summary>div{min-width:0}.recipe-row-summary>strong{flex:0 0 auto;justify-self:center;min-width:78px;border-radius:999px;background:#111827;color:#fff;padding:6px 9px;font-size:13px;text-align:center;white-space:nowrap}.recipe-row-summary .accordion-arrow{justify-self:end}.recipe-row-detail{border-top:1px solid #edf2f7;padding:12px;animation:accordion-enter .2s ease-out both}.recipe-row-detail p{margin:0}.recipe-card{border:1px solid #e7edf5;border-radius:10px;background:#fff;padding:12px;box-shadow:none}.recipe-card-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.recipe-card-head h4{margin:2px 0 0;font-size:16px;font-weight:620}.recipe-card-head>strong{flex:0 0 auto;border-radius:999px;background:#111827;color:#fff;padding:6px 9px;font-size:13px}.recipe-row-summary h4{font-size:15px;font-weight:620;line-height:1.25}.recipe-row-summary>strong{border-radius:999px;padding:6px 9px;font-size:13px}.recipe-source{color:#64748b;font-size:11px;font-weight:650;letter-spacing:.08em;text-transform:uppercase}.recipe-card p,.recipe-instructions{color:#475569;font-size:14px}.recipe-meta-row,.recipe-chip-list,.recipe-use-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.recipe-meta-row span,.recipe-chip-list span{border-radius:999px;background:#f1f5f9;color:#334155;padding:5px 8px;font-size:12px;font-weight:550}.recipe-ingredients{display:flex;flex-direction:column;gap:4px;color:#475569;font-size:13px}.recipe-instructions{margin-top:10px;border-top:1px solid #edf2f7;padding-top:10px}.recipe-edit-choice{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-top:12px;border:1px solid #e7edf5;border-radius:9px;background:#fbfcfe;padding:10px}.recipe-edit-choice span{color:#334155;font-size:13px;font-weight:550}.recipe-edit-choice>div{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}.recipe-picker-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center}.recipe-hint{margin-top:8px}.recipe-tag-grid{display:flex;flex-wrap:wrap;gap:8px}.recipe-tag-option{display:inline-flex;align-items:center;gap:6px;border:1px solid #dbe3ee;border-radius:9px;padding:7px 9px;background:#fbfcfe;color:#334155;cursor:pointer;font-weight:550}.recipe-tag-option input{width:auto}.recipe-chip-list{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.recipe-chip{display:inline-flex;align-items:center;gap:6px;border:1px solid #dbe3ee;border-radius:9px;padding:4px;background:#fbfcfe}.recipe-chip button{border:0;background:transparent;color:#0f172a;padding:6px 8px;cursor:pointer;font-weight:550}.recipe-chip-delete{color:#b91c1c!important;font-size:12px}.recipe-save-box{border:1px solid #dbeafe;border-radius:9px;padding:10px;margin-bottom:12px;background:#f8fbff}.food-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.food-chip{background:#fbfcfe;color:#334155;border-radius:9px;padding:10px;border:1px solid #e7edf5}.loading-screen{min-height:100vh;display:flex;align-items:center;justify-content:center;color:#64748b;font-size:18px}@media (max-width: 980px){.app-content{grid-template-columns:1fr}.desktop-day-panel{display:none}}@media (max-width: 640px){.page{padding:12px}.main-title{font-size:28px}.topbar{padding:16px 68px 16px 16px;border-radius:12px}.topbar-title{font-size:26px}.menu-button{top:12px;right:12px}.day-dashboard{padding:14px;border-radius:12px}.dashboard-hero{grid-template-columns:1fr}.dashboard-hero h2{font-size:26px}.dashboard-score{width:100%;height:auto;min-height:86px;border-radius:12px}.dashboard-progress-row,.dashboard-macros,.quick-actions,.meal-strip{grid-template-columns:1fr 1fr}.quick-action.primary{grid-column:1 / -1}.accordion-header{padding:18px 16px}.accordion-title{font-size:18px}.form-row{flex-direction:column}.food-grid,.meal-input-grid,.hydration-top,.hydration-actions,.exercise-input-grid,.exercise-manual-grid,.exercise-entry-grid,.custom-food-grid,.profile-grid,.recipe-smart-box,.recipe-ai-controls,.recipe-form-grid,.recipe-filter-grid,.recipe-card-grid,.recipe-compact-list,.recipe-picker-row,.meal-totals,.label-ocr-panel{grid-template-columns:1fr}.label-ocr-panel .button{width:100%}.profile-setup-page{align-items:flex-start}.profile-setup-panel{min-height:calc(100vh - 24px);border-radius:12px;padding:16px}.profile-title{font-size:26px}.side-menu{right:0;width:100vw;padding:14px}.side-menu-header{margin:-14px -14px 14px;padding:14px}.side-progress,.side-metric-grid{grid-template-columns:1fr}.food-value-details,.meal-totals,.draft-edit-grid{grid-template-columns:1fr 1fr}.draft-edit-grid input[aria-label=Poznámka],.draft-edit-grid .delete-button{grid-column:1 / -1}.saved-meal-head,.saved-meal-actions{flex-direction:column;align-items:stretch}}h1,h2,h3,h4,strong,.card-title,.accordion-title,.inner-section-title,.topbar-title,.list-title,.side-menu-title,.side-panel-head h3,.recipe-row-summary h4,.recipe-card-head h4{font-weight:500}.topbar-small,.side-eyebrow,.recipe-source,.label,.list-subtitle,.food-value-details span,.meal-totals span,.dashboard-progress-row span,.dashboard-macros span,.side-progress span,.side-metric-grid span,.sighi-details span{font-weight:400;color:#667085}.page{background:#fafbfc}.day-dashboard,.topbar,.side-panel,.profile-setup-panel,.calendar-modal,.accordion,.inner-section,.card,.list-item,.saved-meal,.editable-meal-item,.recipe-smart-box,.recipe-row,.recipe-card,.recipe-edit-choice,.recipe-tag-option,.recipe-chip,.recipe-save-box,.food-chip,.food-search-results,.food-edit-notice,.hydration-top div,.hydration-meter,.exercise-estimate,.exercise-total,.inline-error,.empty-box,.meal-totals div,.food-value-details,.sighi-details,.dashboard-progress-row div,.dashboard-macros div,.side-progress div,.side-metric-grid div,.meal-strip button,.quick-action,.input,.textarea,.button,.button-small,.delete-button,.menu-button,.calendar-button,.side-menu-close{border-radius:0;box-shadow:none}.day-dashboard,.topbar,.side-panel,.accordion,.inner-section,.card,.list-item,.saved-meal,.editable-meal-item,.recipe-smart-box,.recipe-row,.recipe-card,.recipe-edit-choice,.hydration-top div,.hydration-meter,.exercise-estimate,.exercise-total,.meal-totals div,.food-value-details,.sighi-details,.dashboard-progress-row div,.dashboard-macros div,.side-progress div,.side-metric-grid div{border-color:#e5e9f0}.day-dashboard,.topbar,.side-panel,.accordion-body,.inner-section-header,.inner-section-body,.card,.recipe-row-summary,.recipe-row,.recipe-card,.editable-meal-item,.saved-meal{background:#fff}.panel-teal,.panel-cyan,.panel-sky,.panel-blue,.panel-indigo,.panel-violet,.recipe-smart-box,.recipe-edit-choice,.meal-totals div,.food-value-details,.dashboard-progress-row div,.dashboard-macros div,.side-progress div,.side-metric-grid div,.food-chip,.recipe-tag-option,.recipe-chip,.recipe-save-box,.hydration-top div,.exercise-estimate,.exercise-total,.sighi-details{background:#fbfcfd}.dashboard-score,.side-panel-head>strong,.recipe-row-summary>strong,.recipe-card-head>strong{width:auto;height:auto;min-width:0;min-height:0;background:transparent;color:#172033;border:0;box-shadow:none;padding:0;text-align:right}.dashboard-score{align-items:flex-end}.dashboard-score strong{font-size:25px;font-weight:500}.dashboard-score span,.recipe-row-summary>strong,.recipe-card-head>strong{color:#667085;font-size:13px;font-weight:400}.recipe-row-summary{grid-template-columns:minmax(0,1fr) 86px 18px}.menu-button{background:transparent;color:#172033;border:1px solid #e5e9f0}.calendar-button,.button-light,.side-menu-close{background:#f5f7fa}.button{background:#2563eb;font-weight:500}.delete-button{background:#fff5f5;color:#b42318}.accordion-header,.inner-section-header,.recipe-row-summary,.food-search-results button,.meal-strip button,.quick-action{transition:background .15s ease,border-color .15s ease}.accordion-header:hover,.inner-section-header:hover,.recipe-row-summary:hover,.food-search-results button:hover,.meal-strip button:hover,.quick-action:hover{background:#f8fafc}.food-value-details{padding:6px 0}.food-value-details div{padding:0 8px}.meal-totals div{padding:8px 0;border-width:0 0 1px}:root{color:#182230;background:#f7f8fa}body,.page{background:#f7f8fa}h1,h2,h3,h4,.topbar-title,.accordion-title,.inner-section-title,.card-title,.list-title,.recipe-row-summary h4,.recipe-card-head h4{color:#101828;font-weight:560}.topbar-small,.side-eyebrow,.recipe-source{color:#667085;font-weight:520;letter-spacing:.11em}.day-dashboard,.topbar,.side-panel,.profile-setup-panel,.accordion,.inner-section,.card,.list-item,.saved-meal,.editable-meal-item,.recipe-smart-box,.recipe-row,.recipe-card,.recipe-edit-choice,.food-search-results,.calendar-modal{border:1px solid #e6eaf0;border-radius:8px;background:#fff;box-shadow:0 1px 2px #10182808}.accordion,.inner-section,.card,.recipe-row,.editable-meal-item,.list-item{box-shadow:none}.accordion-stack,.recipe-library,.list{gap:8px}.accordion-header{background:#fff;padding:0}.inner-section-header,.panel-teal,.panel-cyan,.panel-sky,.panel-blue,.panel-indigo,.panel-violet{background:#fff}.accordion-header:hover,.inner-section-header:hover,.recipe-row-summary:hover,.food-search-results button:hover,.meal-strip button:hover,.quick-action:hover{background:#f9fafb}.accordion.meal-complete{border-color:#a7f3d0}.accordion.meal-complete .accordion-header{background:#ecfdf3}.accordion.meal-complete .accordion-subtitle{color:#166534}.accordion.meal-complete .accordion-action-button{border-color:#86efac}.accordion.meal-missing .accordion-header{background:#fff}.accordion-title{font-size:20px}.accordion-subtitle,.inner-section-subtitle{color:#667085;font-weight:400}.accordion-arrow,.inner-section-arrow{color:#98a2b3;font-size:22px}.inner-section-arrow{font-size:15px}.card{padding:14px}.card-title{font-size:18px}.input,.textarea,.button,.button-small,.delete-button,.menu-button,.calendar-button,.side-menu-close,.quick-action,.meal-strip button,.recipe-tag-option,.recipe-chip,.food-chip,.empty-box,.inline-error,.food-edit-notice,.hydration-top div,.hydration-meter,.exercise-estimate,.exercise-total{border-radius:6px}.input,.textarea{border-color:#d0d5dd;background:#fff;color:#101828}.input:focus,.textarea:focus{border-color:#84c5a6;box-shadow:0 0 0 3px #16a34a14}.button{background:#157347;color:#fff;font-weight:520}.button-light,.calendar-button,.side-menu-close{background:#f2f4f7;color:#344054}.delete-button{background:#fff1f0;color:#b42318}.menu-button{background:#fff;border:1px solid #d0d5dd;color:#344054}.dashboard-score{width:116px;height:92px;align-items:flex-start;justify-content:center;padding:14px;border:1px solid #d7efe1;border-radius:8px;background:#f6fbf8;color:#14532d}.dashboard-score strong{color:#14532d;font-size:28px;font-weight:580}.dashboard-score span{color:#4b7c60}.dashboard-progress{height:8px;background:#eef2f6}.dashboard-progress span,.goal-progress span{background:#22a06b}.dashboard-progress-row div,.dashboard-macros div,.side-progress div,.side-metric-grid div,.meal-totals div,.food-value-details,.sighi-details,.recipe-smart-box,.recipe-edit-choice,.food-chip,.recipe-tag-option,.recipe-chip,.recipe-save-box,.hydration-top div,.exercise-estimate,.exercise-total{background:#fafbfc;border-color:#e6eaf0;border-radius:6px}.dashboard-progress-row strong,.dashboard-macros strong,.side-progress strong,.side-metric-grid strong,.meal-totals strong,.food-value-details strong,.sighi-details strong{color:#101828;font-weight:560}.meal-totals{gap:8px}.meal-totals div{padding:9px 10px;border-width:1px}.food-value-details{padding:8px}.food-value-details div{padding:0 8px;border-left-color:#eaecf0}.recipe-row-summary{grid-template-columns:minmax(0,1fr) 92px 18px;padding:10px 12px}.recipe-row-summary>strong,.recipe-card-head>strong{justify-self:end;color:#157347;background:#eef8f1;border:1px solid #d7efe1;border-radius:999px;padding:4px 8px;font-size:12px;font-weight:560}.recipe-source,.food-value-details span,.sighi-details span,.meal-totals span,.list-subtitle,.form-hint,.label{color:#667085}.recipe-meta-row span,.recipe-chip-list span,.food-badge,.sighi-badge{background:#f2f4f7;color:#475467;font-weight:500}.sighi-0{border-color:#abefc6;background:#ecfdf3;color:#027a48}.sighi-1{border-color:#fedf89;background:#fffaeb;color:#b54708}.sighi-2,.sighi-3{border-color:#fecdd6;background:#fff1f3;color:#c01048}.side-menu{background:#fff;box-shadow:-4px 0 18px #1018281f}.side-menu-header{background:#fffffff5}.day-switcher{border-color:#d0d5dd;border-radius:8px;overflow:hidden}.day-date-button{color:#101828;font-weight:560}.day-switch-button{color:#667085}@media (max-width: 640px){.histamine-score-card,.histamine-metrics,.histamine-risk-item,.histamine-meal-row{grid-template-columns:1fr}.histamine-score,.histamine-risk-item>strong,.histamine-meal-row>strong{text-align:left}.histamine-risk-item,.histamine-meal-row{align-items:flex-start;flex-direction:column}.histamine-metrics{display:grid}.day-dashboard,.topbar,.side-panel,.profile-setup-panel,.accordion,.inner-section,.card,.recipe-row,.editable-meal-item{border-radius:8px}.dashboard-score{width:100%;height:auto;align-items:flex-start}.recipe-row-summary{grid-template-columns:minmax(0,1fr) 80px 18px}.day-switcher{width:100%;grid-template-columns:38px minmax(0,1fr) 38px}.day-date-button{font-size:17px;padding:0 8px;pointer-events:none;z-index:1}.native-date-input{pointer-events:auto;z-index:2}}.weight-panel{display:flex;flex-direction:column;gap:14px}.weight-top{display:grid;grid-template-columns:minmax(0,1fr) minmax(130px,auto);gap:14px;align-items:start}.weight-top h3{margin:0;font-size:22px;font-weight:560}.weight-top p{margin:6px 0 0;color:#667085;font-size:14px}.weight-current{border:1px solid #d7efe1;background:#f6fbf8;padding:12px;text-align:right}.weight-current span,.weight-current small,.weight-summary span,.weight-history-row span,.weight-history-row small{color:#667085;font-size:12px}.weight-current strong{display:block;margin:3px 0;color:#14532d;font-size:24px;font-weight:580}.weight-current small{display:block}.weight-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(220px,.9fr);gap:12px}.weight-form,.weight-summary,.weight-chart-empty,.weight-history-row{border:1px solid #e6eaf0;background:#fff;padding:12px}.weight-input-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center;margin-bottom:10px}.weight-input-row span{color:#667085;font-size:14px}.weight-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.weight-summary div{min-width:0}.weight-summary strong{display:block;margin-top:4px;color:#101828;font-size:18px;font-weight:560}.weight-range-tabs{display:inline-flex;border:1px solid #d0d5dd;width:fit-content}.weight-range-tabs button{border:0;border-right:1px solid #d0d5dd;background:#fff;color:#475467;padding:8px 12px;cursor:pointer}.weight-range-tabs button:last-child{border-right:0}.weight-range-tabs button.active{background:#eef8f1;color:#14532d}.weight-chart-wrap{border:1px solid #e6eaf0;background:#fff;padding:12px}.weight-chart{display:block;width:100%;height:auto;min-height:190px}.weight-chart line{stroke:#e6eaf0;stroke-width:1}.weight-chart path{fill:none;stroke:#22a06b;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}.weight-chart circle{fill:#fff;stroke:#22a06b;stroke-width:2}.weight-chart text{fill:#475467;font-size:12px}.weight-chart-labels,.weight-history-row{display:flex;justify-content:space-between;gap:10px}.weight-chart-labels{margin-top:4px;color:#667085;font-size:12px}.weight-chart-empty{color:#667085;font-size:14px}.weight-history{display:flex;flex-direction:column;gap:8px}.weight-history-row{align-items:center}.weight-history-row strong{color:#101828;font-weight:560;white-space:nowrap}.weight-history-row small{flex:1;min-width:0;text-align:right}@media (max-width: 640px){.weight-top,.weight-grid,.weight-summary{grid-template-columns:1fr}.weight-current{text-align:left}.weight-range-tabs{width:100%;display:grid;grid-template-columns:repeat(3,1fr)}.weight-range-tabs button{border-right:1px solid #d0d5dd}}.topbar{position:sticky;top:8px;z-index:45;align-items:center;padding:12px 68px 12px 14px;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#fffffff0}.topbar-main{flex:1 1 auto}.topbar-metrics{display:grid;grid-template-columns:repeat(3,minmax(88px,1fr));gap:6px;min-width:min(390px,100%)}.topbar-metrics div{border:1px solid #e6eaf0;background:#f8fafcdb;padding:8px 10px}.topbar-metrics span,.topbar-metrics strong{display:block;line-height:1.15}.topbar-metrics span{margin-bottom:3px;color:#667085;font-size:11px}.topbar-metrics strong{color:#101828;font-size:14px;font-weight:560;white-space:nowrap}.menu-button{top:50%;transform:translateY(-50%)}@media (max-width: 760px){.topbar{top:0;flex-direction:column;align-items:stretch;gap:10px;margin:-12px -12px 14px;padding:10px 60px 10px 12px;border-left:0;border-right:0}.topbar-main{width:100%}.topbar-text{display:none}.topbar-metrics{width:100%;min-width:0;grid-template-columns:repeat(3,minmax(0,1fr))}.topbar-metrics div{padding:7px 8px}.topbar-metrics span{font-size:10px}.topbar-metrics strong{font-size:12px}.menu-button{top:10px;right:10px;transform:none}}.quick-meal-entry{display:flex;flex-direction:column;gap:12px}.quick-meal-columns{display:grid;grid-template-columns:minmax(0,1fr);gap:10px;align-items:start}.quick-meal-card{border:1px solid #e6eaf0;background:#fff;padding:12px}.quick-meal-card-title{margin-bottom:10px;color:#101828;font-size:15px;font-weight:560}.recipe-list-search{margin-bottom:8px}.recipe-select-list{display:flex;flex-direction:column;gap:6px;max-height:230px;overflow-y:auto}.recipe-select-item{width:100%;border:1px solid #e6eaf0;background:#fff;color:#101828;padding:10px;text-align:left;cursor:pointer}.recipe-select-item span,.recipe-select-item small{display:block}.recipe-select-item span{font-weight:560}.recipe-select-item small{margin-top:3px;color:#667085;font-size:12px}.recipe-select-item:hover,.recipe-select-item.active{border-color:#0f172a;background:#f8fafc}.recipe-list-action{margin-top:8px}.time-picker-panel{display:grid;grid-template-columns:minmax(150px,190px) minmax(0,1fr);gap:10px;align-items:end;border:1px solid #e6eaf0;background:#fbfcfe;padding:10px}.time-chip-row{display:flex;flex-wrap:nowrap;gap:6px;padding-bottom:1px;overflow-x:auto}.time-chip{border:1px solid #d0d5dd;background:#fff;color:#344054;padding:9px 11px;cursor:pointer;font-size:13px;line-height:1;white-space:nowrap}.time-chip.active{border-color:#0f172a;background:#0f172a;color:#fff}.save-message{border:1px solid #bbf7d0;background:#f0fdf4;color:#166534;padding:10px 12px;font-size:14px}.not-found-box{display:flex;flex-wrap:wrap;align-items:center;gap:8px;border:1px solid #e6eaf0;background:#fbfcfe;color:#475467;padding:10px;font-size:14px}.not-found-box strong{color:#101828}.not-found-box .button{margin-left:auto}.toilet-panel{display:flex;flex-direction:column;gap:10px}.toilet-form-grid{display:grid;grid-template-columns:minmax(130px,.55fr) minmax(180px,1fr);gap:10px}.toilet-entry{border:1px solid #e6eaf0;background:#fff;padding:10px}.toilet-entry-head{display:flex;justify-content:space-between;gap:10px;margin-bottom:8px;color:#101828}.toilet-entry-head strong{font-weight:560}.toilet-entry-head span{color:#667085}.toilet-entry-grid{display:grid;grid-template-columns:120px minmax(140px,.9fr) minmax(180px,1fr) auto;gap:8px;align-items:center}.event-panel,.sleep-panel{display:flex;flex-direction:column;gap:10px}.sleep-card{display:flex;flex-direction:column;gap:12px}.sleep-grid{display:grid;grid-template-columns:minmax(140px,.7fr) minmax(180px,.8fr) minmax(220px,1fr);gap:10px;align-items:end}.sleep-stepper{display:grid;grid-template-columns:44px minmax(90px,1fr) 44px;min-height:44px;border:1px solid #d0d5dd;background:#fff}.sleep-stepper button{border:0;background:#f8fafc;color:#172033;cursor:pointer;font-size:20px;font-weight:650}.sleep-stepper strong{display:flex;align-items:center;justify-content:center;border-left:1px solid #d0d5dd;border-right:1px solid #d0d5dd;font-size:18px;font-weight:650}.event-form-grid{display:grid;grid-template-columns:minmax(120px,.5fr) minmax(170px,1fr) minmax(170px,1fr);gap:10px;align-items:end}.event-entry{border:1px solid #e6eaf0;background:#fff;padding:10px}.event-entry-head{display:flex;justify-content:space-between;gap:10px;margin-bottom:8px;color:#101828}.event-entry-head strong{font-weight:560}.event-entry-head span{color:#667085}.event-entry-grid{display:grid;grid-template-columns:100px minmax(140px,1fr) minmax(140px,1fr) 76px minmax(180px,1.25fr) auto;gap:8px;align-items:center}.mood-entry-grid{grid-template-columns:100px minmax(140px,1fr) 76px minmax(180px,1.25fr) auto}.diary-panel{display:flex;flex-direction:column;gap:10px}.diary-card{display:flex;flex-direction:column;gap:12px}.diary-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.card-subtitle{margin:4px 0 0;color:#667085;font-size:13px;line-height:1.4}.diary-title-input{font-size:20px;font-weight:560;min-height:48px}.soft-button{border:1px solid #d9e0ea;background:#fff;color:#1d2939;min-height:36px;padding:8px 12px;font-size:14px;font-weight:520;cursor:pointer}.soft-button:hover,.soft-button:focus-visible{border-color:#98a2b3;background:#f8fafc}.diary-toolbar,.diary-prompts{display:flex;flex-wrap:wrap;gap:6px}.diary-tool{min-width:36px;height:34px;border:1px solid #d9e0ea;background:#fff;color:#1d2939;font-size:14px;font-weight:560;cursor:pointer}.diary-tool:hover,.diary-tool:focus-visible{border-color:#98a2b3;background:#f8fafc}.diary-tool-wide{min-width:72px;padding:0 10px;font-weight:500}.diary-editor{min-height:260px;border:1px solid #d9e0ea;background:#fff;padding:16px;color:#1d2939;font-size:16px;line-height:1.65;outline:none}.diary-editor:focus{border-color:#7c8da6;box-shadow:0 0 0 3px #7c8da61f}.diary-editor:empty:before{content:attr(data-placeholder);color:#98a2b3}.diary-editor h3{margin:16px 0 8px;color:#101828;font-size:18px;font-weight:620}.diary-editor p{margin:0 0 10px}.diary-editor ul,.diary-editor ol{margin:8px 0 12px;padding-left:24px}.diary-editor blockquote{margin:12px 0;border-left:3px solid #cbd5e1;padding:8px 12px;background:#f8fafc;color:#475467}.diary-editor figure{margin:14px 0}.diary-editor img{display:block;max-width:100%;max-height:360px;object-fit:contain;border:1px solid #e6eaf0}.diary-editor figcaption{margin-top:6px;color:#667085;font-size:13px}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.report-modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:80;overflow-y:auto;background:#0f172a94;padding:24px}.report-shell{width:min(1120px,100%);margin:0 auto;background:#f6f8fb;border:1px solid #e0e7f0;box-shadow:0 18px 50px #0f172a3d}.report-toolbar,.report-controls{display:flex;align-items:center;gap:12px;padding:16px;background:#fff;border-bottom:1px solid #e6eaf0}.report-toolbar{justify-content:space-between}.report-toolbar h2{margin:0;font-size:24px}.report-toolbar p{margin:4px 0 0;color:#667085}.report-controls{flex-wrap:wrap}.report-controls label{display:grid;gap:4px;color:#667085;font-size:13px}.report-print-area{padding:18px}.report-page{width:210mm;min-height:297mm;margin:0 auto 18px;background:#fff;color:#111827;padding:14mm;border:1px solid #dfe5ee;box-shadow:0 4px 18px #0f172a14;page-break-after:always}.report-page-head{display:flex;justify-content:space-between;gap:18px;align-items:flex-start;border-bottom:2px solid #111827;padding-bottom:10px;margin-bottom:12px}.report-page h1{margin:0;font-size:28px;line-height:1.1}.report-page h2{margin:0 0 8px;font-size:15px;text-transform:uppercase;letter-spacing:.08em}.report-page h3{margin:8px 0 4px;font-size:14px}.report-profile,.report-kcal{display:grid;gap:3px;text-align:right}.report-profile span,.report-kcal span{color:#667085;font-size:12px}.report-kcal strong{font-size:22px}.report-metrics{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:7px;margin-bottom:12px}.report-metrics div{border:1px solid #dfe5ee;background:#f8fafc;padding:8px}.report-metrics span{display:block;color:#667085;font-size:11px}.report-metrics strong{display:block;margin-top:3px;font-size:14px}.report-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr);gap:12px}.report-section{border:1px solid #dfe5ee;padding:10px;margin-bottom:12px}.report-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;padding:5px 0;border-top:1px solid #eef2f7}.report-row:first-of-type{border-top:0}.report-row span,.report-mini-list span,.report-weight-line{color:#4b5563;font-size:12px}.report-row strong,.report-row span,.report-mini-list strong,.report-mini-list span{display:block}.report-row em{color:#111827;font-style:normal;font-weight:650;white-space:nowrap}.report-mini-list{display:grid;gap:4px;padding:7px 0;border-top:1px solid #eef2f7}.report-mini-list:first-child{border-top:0}.report-day-table{display:grid;gap:4px}.report-day-table div{display:grid;grid-template-columns:70px 90px 80px 1fr;gap:8px;border-top:1px solid #eef2f7;padding:5px 0;font-size:12px}.report-weight-line{display:flex;gap:18px;margin-bottom:8px}@media (max-width: 760px){.quick-meal-columns{grid-template-columns:1fr}.quick-meal-card{padding:10px}.time-picker-panel{grid-template-columns:1fr}.not-found-box{align-items:stretch;flex-direction:column}.not-found-box .button{margin-left:0}.toilet-form-grid,.toilet-entry-grid,.sleep-grid,.event-form-grid,.event-entry-grid,.mood-entry-grid{grid-template-columns:1fr}.diary-head{flex-direction:column}.diary-head .soft-button{width:100%}.diary-title-input{font-size:18px}.diary-editor{min-height:220px;padding:12px;font-size:15px}.report-modal{padding:0}.report-toolbar,.report-controls{align-items:stretch;flex-direction:column}.report-page{width:100%;min-height:auto;padding:14px}.report-page-head,.report-grid{grid-template-columns:1fr;flex-direction:column}.report-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.report-day-table div{grid-template-columns:1fr 1fr}}@media print{@page{size:A4;margin:0}html,body,#root{background:#fff!important;min-height:0}body *{visibility:hidden}.report-modal,.report-modal *{visibility:visible}.no-print,.no-print *{display:none!important;visibility:hidden!important}.report-modal{position:static;inset:auto;overflow:visible;padding:0;background:#fff}.report-shell{width:100%;margin:0;border:0;box-shadow:none;background:#fff}.report-print-area{padding:0}.report-page{width:210mm;min-height:297mm;margin:0;border:0;box-shadow:none;page-break-after:always;break-after:page}.report-page:last-child{page-break-after:auto;break-after:auto}.report-page .weight-chart-wrap{break-inside:avoid}}
