@import "https://fonts.googleapis.com/css2?family=Figtree:wght@400;500;600;700&display=swap";:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;color:#0f172a;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#fff;font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;font-weight:400;line-height:1.5}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%;overflow-x:clip}body{background-color:#fff;min-width:320px;min-height:100dvh;margin:0;overflow-x:clip}@media print{body{background:#fff!important;overflow:visible!important}html{overflow:visible!important}}body{min-height:100dvh;padding-left:env(safe-area-inset-left,0);padding-right:env(safe-area-inset-right,0);padding-bottom:env(safe-area-inset-bottom,0);color:#0f172a;background:radial-gradient(circle at 0 0,#e0f2fe 0,#0000 45%),radial-gradient(circle at 100% 100%,#e2f3ff 0,#0000 50%),linear-gradient(135deg,#f8fafc 0,#eef2ff 50%,#f8fafc 100%);margin:0;font-family:Figtree,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}button{cursor:pointer;touch-action:manipulation;transition:transform .1s,box-shadow .15s,opacity .15s}button:active:not(:disabled){transform:scale(.97)}button:focus,button:focus-visible{outline-offset:2px;outline:2px solid #16a34a}button:disabled{cursor:not-allowed}#root{width:100%;max-width:1200px;padding:0 1.5rem 1.5rem;padding-top:max(0px, env(safe-area-inset-top,0px));min-width:0;margin:0 auto}.app{flex-direction:column;gap:1rem;display:flex}.app--menu-planner{padding-top:1.25rem}.app-header{text-align:left}.app-header-top{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;display:flex}.app-header-top h1{margin:0}.app-header-actions{gap:.5rem;display:flex}.app-header-button{color:#fff;cursor:pointer;background-color:#16a34a;border:none;border-radius:.5rem;padding:.5rem 1rem;font-size:.9rem;font-weight:500}.app-header-button:hover{background-color:#15803d}.app-header-button--secondary{color:#166534;background-color:#dcfce7;border:1px solid #166534}.app-header-button--secondary:hover{color:#14532d;background-color:#bbf7d0;border-color:#14532d}.app-subtitle{color:#64748b;margin:0;font-size:.95rem}.app-header h1{letter-spacing:.01em;margin:0 0 .25rem;font-size:2.4rem;font-style:italic;font-weight:700;animation:4.2s ease-out app-title-glow}@keyframes app-title-glow{0%{text-shadow:0 0 #16a34a00;opacity:0}25%{text-shadow:0 0 14px #16a34a99;opacity:.9}60%{text-shadow:0 0 10px #16a34a66;opacity:1}to{text-shadow:0 0 #16a34a00}}.app--dashboard{width:100%;max-width:100%}.app--bmi,.app--recipes{max-width:100%}.dashboard{flex-direction:column;gap:1rem;display:flex}.dashboard-create{color:#fff;cursor:pointer;background-color:#16a34a;border:none;border-radius:.5rem;align-self:flex-start;padding:.5rem 1rem;font-size:.9rem;font-weight:500}.dashboard-create:hover{background-color:#15803d}a.dashboard-create,a.dashboard-bmi-button{touch-action:manipulation;text-decoration:none;display:inline-block}a.dashboard-create,a.dashboard-create:hover{color:#fff}a.dashboard-bmi-button:hover{color:#14532d}.tool-grid{grid-template-columns:minmax(0,1.5fr) minmax(0,1.2fr);gap:1rem;display:grid}.tool-card{-webkit-backdrop-filter:blur(12px);background-color:#f8fafcc7;border:1px solid #94a3b84d;border-radius:.75rem;flex-direction:column;gap:.5rem;padding:.9rem 1rem;display:flex;box-shadow:0 10px 25px #0f172a14}.tool-card--primary{background:radial-gradient(circle at 0 0,#bbf7d080,#0000 55%),#f0fdf4cc;border-color:#4ade8059}.tool-card-body{color:#64748b;margin:0;font-size:.9rem}.tool-card-actions{flex-wrap:wrap;gap:.5rem;display:flex}.tool-secondary-button,.dashboard-bmi-button{color:#166534;cursor:pointer;background-color:#fff;border:1px solid #bbf7d0;border-radius:.5rem;padding:.5rem 1rem;font-size:.9rem;font-weight:500}.tool-secondary-button:hover,.dashboard-bmi-button:hover{background-color:#f0fdf4;border-color:#86efac}.tool-card-footer{color:#64748b;margin:.25rem 0 0;font-size:.85rem}.tool-card-footer--italic{font-size:.8rem}.bmi{flex-direction:column;gap:1rem;display:flex}.bmi-layout{grid-template-columns:minmax(0,1.4fr) minmax(0,1.2fr);align-items:flex-start;gap:1rem;display:grid}.bmi-card{-webkit-backdrop-filter:blur(12px);background:radial-gradient(circle at 0 0,#bbf7d08c,#0000 55%),#f0fdf4d9;border:1px solid #4ade806b;border-radius:.75rem;padding:.9rem 1rem;box-shadow:0 10px 25px #0f172a14}.recipes{flex-direction:column;gap:1rem;display:flex}.recipes-layout{grid-template-columns:minmax(0,1.4fr) minmax(0,1.2fr);align-items:flex-start;gap:1rem;display:grid}.recipe-card{-webkit-backdrop-filter:blur(12px);background:radial-gradient(circle at 0 0,#bbf7d08c,#0000 55%),#f0fdf4d9;border:1px solid #4ade806b;border-radius:.75rem;min-width:0;padding:.9rem 1rem;overflow:hidden;box-shadow:0 10px 25px #0f172a14}.recipe-card--output{-webkit-backdrop-filter:none;background:#fff}.recipe-markdown-preview{color:#0f172a;font-size:.95rem;line-height:1.5}.recipe-markdown-preview h1{margin:0 0 .5rem;font-size:1.5rem;font-weight:700}.recipe-markdown-preview h2{margin:1rem 0 .35rem;font-size:1.1rem;font-weight:600}.recipe-markdown-preview ul,.recipe-markdown-preview ol{margin:.25rem 0 .75rem;padding-left:1.5rem}.recipe-markdown-preview li{margin-bottom:.25rem}.recipe-markdown-preview p{margin:.25rem 0}.recipe-error{color:#b91c1c}.recipe-help{color:#64748b;margin:0 0 .75rem;font-size:.9rem}.recipe-input{box-sizing:border-box;resize:vertical;border:1px solid #bbf7d0;border-radius:.5rem;width:100%;max-width:100%;min-height:280px;padding:.5rem .6rem;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:.85rem}.recipe-input:focus{border-color:#16a34a;outline:none;box-shadow:0 0 0 1px #16a34a}.recipe-output{flex-direction:column;gap:.5rem;min-width:0;font-family:Georgia,Times New Roman,serif;font-size:.9rem;display:flex;overflow:visible}.recipe-output-block{margin-top:1rem}.recipe-output-block:first-child{margin-top:0}.recipe-output-header{justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:.5rem;display:flex}.recipe-title-input{background:0 0;border:none;margin:0;padding:0;font-size:1.15rem;font-style:italic;font-weight:600}.recipe-meta-input{color:#64748b;background:0 0;border:none;margin:.1rem 0 0;padding:0;font-style:italic}.recipe-title-input:focus,.recipe-meta-input:focus,.recipe-line-input:focus{border-radius:.25rem;outline:1px solid #bbf7d0}.recipe-section{margin-top:.75rem}.recipe-section-title{text-transform:uppercase;letter-spacing:.06em;color:#0f172a;margin:0 0 .35rem;font-size:.9rem}.recipe-list{margin:0;padding-left:1.25rem}.recipe-list--numbered{counter-reset:recipe-step;padding-left:0;list-style:none}.recipe-list--numbered .recipe-line{align-items:flex-start;gap:.35rem;margin-bottom:.5rem;display:flex}.recipe-list--numbered .recipe-line:before{counter-increment:recipe-step;content:counter(recipe-step) ".";flex-shrink:0;min-width:1.5em;font-weight:600}.recipe-step-input{resize:vertical;white-space:pre-wrap;word-wrap:break-word;flex:auto;min-height:2.5em}.recipe-list--ingredients{padding-left:0;list-style:none}.recipe-line-input{width:100%;font:inherit;white-space:pre-wrap;word-wrap:break-word;background:0 0;border:none;padding:0}.recipe-line-input::placeholder{white-space:normal}.recipe-line-input::-webkit-input-placeholder{white-space:normal}.recipe-line-input--amount{max-width:6rem}.recipe-line-input--item{flex:auto}.recipe-empty{color:#64748b;margin:.25rem 0 0;font-size:.9rem}.recipe-loading{font-style:italic}.recipe-actions{flex-wrap:wrap;gap:.5rem;margin-top:.75rem;display:flex}.recipe-actions--output{margin-top:0}.recipe-next-action{color:#0f172a;background-color:#f8fafc;border-left:4px solid #64748b;border-radius:.375rem;margin:.5rem 0 0;padding:.5rem .75rem;font-size:.9rem;font-weight:500;box-shadow:0 1px 2px #0000000d}.recipe-next-action:before{content:"→ ";color:currentColor;font-weight:700}.recipe-next-action--info{color:#0f172a;background-color:#f8fafc;border-left-color:#64748b}.recipe-next-action--success{color:#14532d;background-color:#f0fdf4;border-left-color:#16a34a}.recipe-next-action--error{color:#991b1b;background-color:#fef2f2;border-left-color:#b91c1c}.recipe-disclaimer{color:#4b5563;margin:.5rem 0 0;padding:0;font-size:.875rem;font-weight:400;line-height:1.45}.recipe-button{color:#fff;cursor:pointer;background-color:#16a34a;border:none;border-radius:.5rem;padding:.4rem .9rem;font-size:.9rem;font-weight:500}.recipe-button:hover:not(:disabled){background-color:#15803d}.recipe-button:disabled{opacity:.9;cursor:not-allowed;filter:none}.recipe-button--secondary{color:#166534;background-color:#fff;border:1px solid #bbf7d0}.recipe-button--secondary:hover:not(:disabled){background-color:#dcfce7;border-color:#86efac}.recipe-button--success{color:#166534;background-color:#dcfce7;border-color:#22c55e}.recipe-button--ai{color:#fff;cursor:pointer;background-color:#16a34a;border:none;border-radius:.5rem;align-items:center;gap:.35rem;padding:.4rem .9rem;font-size:.9rem;font-weight:600;transition:background-color .2s;animation:2.5s ease-in-out infinite recipe-ai-glow-pulse;display:inline-flex}@keyframes recipe-ai-glow-pulse{0%,to{box-shadow:0 0 4px #22c55e80}50%{box-shadow:0 0 8px #22c55ed9}}.recipe-button--ai:hover:not(:disabled){background-color:#15803d}.recipe-button--ai:disabled{opacity:.9;cursor:not-allowed;animation-duration:3s}.recipe-button-beta{text-transform:uppercase;letter-spacing:.04em;color:#16a34a;background-color:#ffffffe6;border-radius:.2rem;align-items:center;padding:.12rem .4rem;font-size:.6rem;font-weight:600;line-height:1;display:inline-flex}.recipe-heading,.recipe-line{align-items:baseline;gap:.35rem;display:flex}.recipe-edit-icon{opacity:0;color:#16a34a;pointer-events:none;align-items:center;font-size:0;transition:opacity .15s;display:inline-flex}.recipe-edit-icon:before{content:"✎ Edit";background:#ffffffe6;border:1px solid #16a34a59;border-radius:999px;padding:.14rem .34rem;font-size:.66rem;font-weight:600;line-height:1}.recipe-heading:hover .recipe-edit-icon,.recipe-line:hover .recipe-edit-icon{opacity:1}.bmi-help{color:#64748b;margin:0 0 .75rem;font-size:.9rem}.bmi-form{flex-direction:column;gap:.75rem;display:flex}.bmi-row{flex-wrap:wrap;gap:.75rem;display:flex}.bmi-field{color:#0f172a;flex-direction:column;gap:.25rem;font-size:.85rem;display:flex}.bmi-height-row{gap:.75rem;display:flex}.bmi-input{border:1px solid #bbf7d0;border-radius:.5rem;padding:.35rem .55rem;font-size:.9rem}.bmi-input:focus{border-color:#16a34a;outline:none;box-shadow:0 0 0 1px #16a34a}.bmi-button{color:#fff;cursor:pointer;background-color:#16a34a;border:none;border-radius:.5rem;align-self:flex-start;padding:.5rem 1rem;font-size:.9rem;font-weight:500}.bmi-button:hover{background-color:#15803d}.bmi-unit-toggle{border:1px solid #e2e8f0;border-radius:999px;margin-bottom:.75rem;display:inline-flex;overflow:hidden}.bmi-unit-button{cursor:pointer;color:#475569;background:0 0;border:none;padding:.25rem .8rem;font-size:.85rem}.bmi-unit-button--active{color:#fff;background-color:#16a34a}.bmi-result{border-top:1px solid #e2e8f0;flex-direction:column;gap:.25rem;margin-top:.75rem;padding-top:.75rem;display:flex}.bmi-result-value{font-weight:600}.bmi-result-category{color:#64748b;font-size:.9rem}.bmi-gauge-card{background-color:#fff;border:1px solid #e2e8f0;border-radius:.75rem;padding:.9rem 1rem}.bmi-gauge-header{justify-content:space-between;align-items:baseline;gap:.5rem;display:flex}.bmi-gauge-value{color:#0f172a;font-size:.95rem;font-weight:600}.bmi-gauge{margin-top:.25rem}.bmi-gauge-bar{border-radius:999px;grid-template-columns:repeat(4,1fr);height:1.5rem;display:grid;position:relative;overflow:hidden}.bmi-gauge-segment--under{background-color:#fee2e2}.bmi-gauge-segment--normal{background-color:#bbf7d0}.bmi-gauge-segment--over{background-color:#fed7aa}.bmi-gauge-segment--obese{background-color:#fecaca}.bmi-gauge-marker{color:#0f172a;font-size:.9rem;position:absolute;top:-.4rem;transform:translate(-50%)}.bmi-gauge-labels{color:#64748b;grid-template-columns:repeat(4,1fr);margin-top:.35rem;font-size:.75rem;display:grid}.bmi-gauge-labels span{text-align:center}.bmi-gauge-note{color:#64748b;margin:.5rem 0 0;font-size:.8rem}.bmi-gauge-extra{color:#475569;flex-direction:column;gap:.1rem;margin:.35rem 0 0;font-size:.8rem;display:flex}.bmi-disclaimer{color:#64748b;margin:.75rem 0 0;font-size:.8rem}.dashboard-empty{color:#64748b;margin:0}.dashboard-list{flex-direction:column;gap:.5rem;margin:0;padding:0;list-style:none;display:flex}.dashboard-item{margin:0}.dashboard-item-button{text-align:left;cursor:pointer;color:#166534;background-color:#fff;border:1px solid #bbf7d0;border-radius:.5rem;flex-direction:column;gap:.2rem;width:100%;padding:.5rem 1rem;font-size:.9rem;display:flex}.dashboard-item-button:hover{background-color:#f0fdf4;border-color:#86efac}.dashboard-item-name{font-size:1rem;font-weight:600}.dashboard-item-meta{color:#64748b;font-size:.85rem}.section-title{margin:0 0 .5rem;font-size:1rem}.tool-card-beta{text-transform:uppercase;letter-spacing:.04em;color:#166534;vertical-align:.15em;background-color:#dcfce7;border-radius:.25rem;margin-left:.35rem;padding:.15rem .45rem;font-size:.7rem;font-weight:600;display:inline-block}.diet-panel{grid-template-columns:minmax(0,2.2fr) minmax(0,1.8fr);align-items:flex-start;gap:1.25rem;display:grid}.diet-panel-left{flex-direction:column;gap:1.25rem;display:flex}.menu-type-card{background-color:#f0fdf4;border:1px solid #bbf7d0;border-radius:.75rem;padding:.75rem .9rem}.menu-type-help{color:#64748b;margin:0 0 .5rem;font-size:.84rem}.menu-type-actions{flex-wrap:wrap;gap:.5rem;display:flex}.menu-type-button{color:#166534;background-color:#fff;border:1px solid #bbf7d0;border-radius:.5rem;padding:.45rem .8rem;font-size:.85rem;font-weight:600}.menu-type-button--active{background-color:#dcfce7;border-color:#16a34a}.create-menu-form{flex-direction:column;gap:.8rem;display:flex}.menu-type-picker{gap:.55rem;display:grid}.menu-type-card-button{text-align:left;color:#14532d;cursor:pointer;background-color:#fff;border:1px solid #bbf7d0;border-radius:.65rem;flex-direction:column;gap:.2rem;padding:.6rem .7rem;display:flex}.menu-type-card-button:hover{background-color:#f8fffb;border-color:#86efac}.menu-type-card-button--active{background-color:#ecfdf3;border-color:#16a34a;box-shadow:0 0 0 2px #16a34a24}.menu-type-card-title{font-size:.9rem;font-weight:700}.menu-type-card-description{color:#4b5563;font-size:.8rem}.menu-type-lock-note{color:#9a3412;background-color:#fff7ed;border:1px solid #fdba74;border-radius:.55rem;margin:.15rem 0 0;padding:.5rem .65rem;font-size:.8rem;font-weight:600}.create-menu-actions{margin-top:.55rem}.diet-form,.diet-list{background-color:#f0fdf4;border:1px solid #bbf7d0;border-radius:.75rem;padding:.75rem .9rem}.diet-form-row{flex-wrap:wrap;gap:.5rem;display:flex}.diet-input{border:1px solid #bbf7d0;border-radius:.5rem;flex:180px;min-width:0;padding:.4rem .55rem;font-size:.85rem}.diet-input--number{max-width:120px}.diet-input:focus{border-color:#16a34a;outline:none;box-shadow:0 0 0 1px #16a34a}.diet-add-button{color:#fff;cursor:pointer;white-space:nowrap;background-color:#16a34a;border:none;border-radius:.5rem;padding:.5rem 1rem;font-size:.9rem;font-weight:500}.diet-add-button:hover{background-color:#15803d}.diet-items{flex-direction:column;gap:.5rem;margin:0;padding:0;list-style:none;display:flex}.diet-item{background-color:#fff;border:1px solid #e2e8f0;border-radius:.75rem;margin:0;padding:.6rem .75rem;box-shadow:0 1px 2px #0f172a0f}.diet-label{flex:auto;align-items:flex-start;gap:.5rem;font-size:.85rem;display:flex}.diet-label input{margin-top:.2rem}.diet-info{flex-direction:column;display:flex}.diet-name{font-family:Lexend,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-weight:600}.diet-meta{color:#64748b;font-size:.8rem}.diet-inline-input{border:1px solid #bbf7d0;border-radius:.4rem;width:100%;padding:.2rem .4rem;font-size:.85rem}.diet-inline-input--name{margin-bottom:.2rem;font-weight:600}.diet-inline-input--tags{margin-bottom:.15rem}.diet-inline-input:focus{border-color:#16a34a;outline:none;box-shadow:0 0 0 1px #16a34a}.diet-empty{color:#64748b;margin:.25rem 0 0;font-size:.85rem}.diet-row{align-items:center;gap:.5rem;display:flex}.diet-drag-handle{cursor:grab;color:#94a3b8;padding:0 .25rem;font-size:1rem}.diet-item[draggable=true]{cursor:grab}.diet-item[draggable=true]:active .diet-drag-handle{cursor:grabbing;color:#16a34a}.diet-reorder-help{color:#94a3b8;margin:0 0 .4rem;font-size:.8rem}.diet-actions{gap:.25rem;margin-left:auto;display:flex}.diet-action-button{color:#166534;cursor:pointer;background-color:#fff;border:1px solid #bbf7d0;border-radius:.375rem;padding:.25rem .55rem;font-size:.75rem}.diet-action-button:hover{color:#166534;background-color:#ecfdf3;border-color:#86efac}.diet-action-button--danger{color:#b91c1c;border-color:#fecaca}.diet-action-button--danger:hover{background-color:#fee2e2;border-color:#fecaca}.calendar-title-bar{background-color:#f8fafc;border:1px solid #e2e8f0;border-radius:.75rem;flex-direction:column;gap:.4rem;padding:.75rem .9rem;display:flex}.calendar-title-label{flex-direction:column;gap:.25rem;display:flex}.calendar-title-caption{color:#0f172a;margin:0 0 .5rem;font-size:1rem;font-weight:600}.calendar-title-input{border:1px solid #bbf7d0;border-radius:.5rem;padding:.4rem .55rem;font-size:.9rem}.calendar-title-input--inline{min-width:min(420px,100%)}.calendar-title-input:focus{border-color:#16a34a;outline:none;box-shadow:0 0 0 1px #16a34a}.calendar-title-row{z-index:5;background-color:inherit;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:.25rem;padding:.35rem 0 .25rem;display:flex;position:sticky;top:0}.calendar-title-preview{margin:0;font-size:1.45rem;font-weight:700}.calendar-title-editable{cursor:pointer;align-items:center;gap:.35rem;display:inline-flex}.edit-pen-icon{color:#15803d;background:#ffffffe6;border:1px solid #16a34a59;border-radius:999px;align-items:center;gap:.24rem;padding:.12rem .34rem;line-height:1;display:inline-flex}.edit-pen-icon:after{content:"Edit";letter-spacing:.01em;font-size:.64rem;font-weight:600}.calendar-title-editable .edit-pen-icon{opacity:0;transition:opacity .15s}.calendar-title-editable:hover .edit-pen-icon{opacity:1}.calendar-title-preview--placeholder{color:#94a3b8;font-weight:500}.calendar-title-actions{flex-shrink:0;gap:.5rem;display:flex}.calendar-export-pdf-group{flex-shrink:0;align-items:center;gap:.35rem;display:inline-flex}.calendar-export-info{align-items:center;display:inline-flex;position:relative}.calendar-export-info-button{color:#64748b;cursor:help;background:#fff;border:1px solid #cbd5e1;border-radius:999px;justify-content:center;align-items:center;width:2rem;height:2rem;padding:0;line-height:0;display:inline-flex}.calendar-export-info-button:hover{color:#166534;border-color:#86efac}.calendar-export-info-button:focus-visible{color:#166534;border-color:#86efac;outline:none;box-shadow:0 0 0 2px #16a34a59}.calendar-export-info-tooltip{color:#334155;z-index:60;opacity:0;visibility:hidden;pointer-events:none;background:#fff;border:1px solid #e2e8f0;border-radius:.45rem;width:min(280px,100vw - 2rem);padding:.55rem .65rem;font-size:.78rem;line-height:1.4;transition:opacity .15s,visibility .15s;position:absolute;bottom:calc(100% + 6px);right:0;box-shadow:0 4px 12px #0f172a1f}.calendar-export-info:hover .calendar-export-info-tooltip,.calendar-export-info:focus-within .calendar-export-info-tooltip{opacity:1;visibility:visible;pointer-events:auto}.calendar-action-button{cursor:pointer;border:none;border-radius:.5rem;padding:.5rem 1rem;font-size:.9rem;font-weight:500}.calendar-action-button--primary{color:#fff;background-color:#16a34a}.calendar-action-button--primary:hover{background-color:#15803d}.calendar-action-button--secondary{color:#166534;background-color:#fff;border:1px solid #bbf7d0}.calendar-action-button--secondary:hover{color:#14532d;background-color:#f0fdf4;border-color:#86efac}.calendar-divider{border:0;border-top:1px solid #e2e8f0;margin:1rem 0 .75rem}.single-diet-view-toggle{gap:.4rem;margin:.35rem 0 .2rem;display:inline-flex}.single-diet-view-button{color:#166534;background-color:#fff;border:1px solid #bbf7d0;border-radius:.45rem;padding:.3rem .7rem;font-size:.8rem;font-weight:600}.single-diet-view-button--active{background-color:#ecfdf3;border-color:#16a34a}.single-week-grid{flex-direction:column;gap:.35rem;display:flex}.single-week-grid-table+.single-week-grid-table{margin-top:.5rem}.single-week-grid-row{grid-template-columns:100px repeat(7,minmax(0,1fr));align-items:stretch;gap:.3rem;display:grid}.single-week-grid-corner,.single-week-grid-label,.single-week-grid-day{background-color:#f8fafc;border:1px solid #e2e8f0;border-radius:.5rem;padding:.3rem .45rem;font-size:.78rem;font-weight:600}.single-week-grid-day{text-align:center}.single-week-grid-cell{border-radius:.5rem}.calendar-empty-state{text-align:center;color:#64748b;padding:2rem 0;font-size:.95rem}.day-add-bar{flex-direction:column;gap:.25rem;margin-top:.75rem;font-size:.85rem;display:flex}.day-add-buttons{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.day-add-button{color:#fff;cursor:pointer;background-color:#16a34a;border:none;border-radius:.5rem;padding:.5rem 1rem;font-size:.9rem;font-weight:500}.day-add-button:hover{background-color:#15803d}.day-add-button--secondary{color:#166534;background-color:#fff;border:1px solid #bbf7d0}.day-add-button--secondary:hover:not(:disabled){color:#14532d;background-color:#f0fdf4;border-color:#86efac}.day-add-button:disabled{opacity:.6;cursor:not-allowed}.day-add-help{color:#64748b;margin:0}.meal-editor-backdrop{z-index:40;background-color:#0f172a80;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.save-confirm-backdrop{z-index:50;background-color:#0f172a80;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.save-confirm-modal{background-color:#fff;border:1px solid #e2e8f0;border-radius:.75rem;width:min(420px,100% - 2rem);padding:.9rem 1rem .8rem;box-shadow:0 10px 25px #0f172a33}.notes-modal{width:min(480px,100% - 2rem);max-width:100%}.notes-modal-hint{margin:0 0 .75rem;font-size:.85rem}.notes-modal-label{color:#475569;margin-bottom:.35rem;font-size:.8rem;font-weight:600;display:block}.notes-modal-textarea{resize:vertical;box-sizing:border-box;border:1px solid #bbf7d0;border-radius:.5rem;width:100%;min-height:7rem;margin:0 0 1rem;padding:.5rem .6rem;font-family:inherit;font-size:.9rem;line-height:1.45}.notes-modal-textarea:focus{border-color:#16a34a;outline:none;box-shadow:0 0 0 1px #16a34a}.save-confirm-title{margin:0 0 .25rem;font-family:Lexend,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:1rem;font-weight:600}.create-menu-modal .create-menu-modal__heading{color:#0f172a;letter-spacing:-.02em;border-bottom:1px solid #e2e8f0;margin:0 0 .85rem;padding-bottom:.65rem;font-size:1.25rem;font-weight:700;line-height:1.25}.create-menu-modal .create-menu-modal__field-label{letter-spacing:.04em;text-transform:uppercase;color:#64748b;margin:0 0 .35rem;font-size:.75rem;font-weight:600}.create-menu-modal .create-menu-modal__title-field{gap:.35rem}.create-menu-modal__required-mark{color:#b91c1c;cursor:help;margin-left:.15rem;font-size:.95em;font-weight:700;text-decoration:none}.save-confirm-message{color:#475569;margin:0 0 .75rem;font-size:.9rem}.save-confirm-actions{justify-content:flex-end;gap:.5rem;display:flex}.save-confirm-button{cursor:pointer;border:none;border-radius:.5rem;padding:.5rem 1rem;font-size:.9rem;font-weight:500}.save-confirm-button--secondary{color:#166534;background-color:#f0fdf4;border:1px solid #bbf7d0}.save-confirm-button--secondary:hover{background-color:#dcfce7;border-color:#86efac}.save-confirm-button--primary{color:#fff;background-color:#16a34a;font-weight:500}.save-confirm-button--primary:hover{background-color:#15803d}.auth-status{color:#64748b;font-size:.85rem}.auth-status--email{text-overflow:ellipsis;white-space:nowrap;max-width:180px;overflow:hidden}.auth-modal .auth-form{flex-direction:column;gap:.5rem;display:flex}.auth-input{border:1px solid #e2e8f0;border-radius:.5rem;padding:.4rem .55rem;font-size:.9rem}.auth-input:focus{border-color:#16a34a;outline:none}.auth-error{color:#b91c1c;margin:0;font-size:.85rem}.auth-toggle-mode{color:#16a34a;cursor:pointer;background:0 0;border:none;margin-top:.5rem;font-size:.85rem;text-decoration:underline}.auth-toggle-mode:hover{color:#15803d}.add-day-options{flex-wrap:wrap;gap:.4rem;margin-bottom:.75rem;display:flex}.add-day-option-button{cursor:pointer;background-color:#fff;border:1px solid #bbf7d0;border-radius:.375rem;padding:.25rem .6rem;font-size:.8rem}.add-day-option-button--selected{background-color:#ecfdf3;border-color:#16a34a}.meal-editor{background-color:#fff;border:1px solid #e2e8f0;border-radius:.75rem;flex-direction:column;gap:.5rem;width:min(700px,100% - 2rem);max-height:min(520px,100% - 4rem);padding:.9rem 1rem .8rem;display:flex}.meal-editor-header{justify-content:space-between;align-items:flex-start;gap:.5rem;display:flex}.meal-editor-title{font-size:1rem;font-weight:600}.meal-editor-subtitle{color:#64748b;font-size:.82rem}.meal-editor-close{cursor:pointer;color:#64748b;background:0 0;border:none;font-size:1.25rem;line-height:1}.meal-editor-toolbar{gap:.25rem;display:flex}.meal-editor-tool-button{cursor:pointer;background-color:#fff;border:1px solid #bbf7d0;border-radius:.375rem;padding:.2rem .4rem;font-size:.75rem}.meal-editor-tool-button:hover{background-color:#ecfdf3}.meal-editor-content{border:1px solid #bbf7d0;border-radius:.5rem;padding:.5rem .6rem;font-size:.85rem;overflow:auto}.meal-editor-content:focus{border-color:#16a34a;outline:none;box-shadow:0 0 0 1px #16a34a}.meal-editor-sections{grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem;display:grid}.meal-editor-section-label{color:#64748b;margin-bottom:.25rem;font-size:.8rem}.meal-editor-copy-row{flex-wrap:wrap;align-items:center;gap:.4rem;font-size:.8rem;display:flex}.meal-editor-copy-label{color:#64748b}.meal-editor-copy-button{cursor:pointer;background-color:#fff;border:1px solid #bbf7d0;border-radius:.375rem;padding:.2rem .5rem;font-size:.75rem}.meal-editor-copy-button:hover{background-color:#ecfdf3}.meal-editor-footer{justify-content:flex-end;gap:.5rem;margin-top:.2rem;display:flex}.meal-editor-secondary,.meal-editor-primary{cursor:pointer;border-radius:.5rem;padding:.35rem .9rem;font-size:.85rem}.meal-editor-secondary{color:#166534;background-color:#f0fdf4;border:1px solid #bbf7d0}.meal-editor-secondary:hover{background-color:#dcfce7;border-color:#86efac}.meal-editor-primary{color:#fff;background-color:#16a34a;border:none;font-weight:500}.meal-editor-primary:hover{background-color:#15803d}.calendar-wrapper{padding:.35rem 1rem 1rem;overflow-x:auto}.calendar{min-width:700px}.calendar--single-diet{min-width:0}.calendar-row{display:grid}.calendar-header-row{z-index:1;background-color:#f8fafc;position:sticky;top:0}.calendar-day-block{margin-top:1.25rem;padding:.75rem 0 .9rem}.calendar-day-block--single{margin-top:.9rem;padding:.5rem 0}.calendar-day-block:first-of-type{margin-top:0}.calendar-day-banner-row{margin-top:0;margin-bottom:.25rem}.calendar-day-banner{background-color:#ecfdf3;border-radius:.5rem;padding:.4rem .6rem;font-family:Lexend,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-weight:600}.calendar-day-banner-inner{justify-content:space-between;align-items:center;gap:.5rem;display:flex}.calendar-day-move{gap:.15rem;display:flex}.day-name-editable{cursor:pointer;align-items:center;gap:.35rem;display:inline-flex}.day-name-editable .edit-pen-icon{opacity:0;color:#16a34a;align-items:center;transition:opacity .15s;display:inline-flex}.day-name-editable:hover .edit-pen-icon{opacity:1}.day-name-input{font:inherit;background:#fff;border:1px solid #86efac;border-radius:.375rem;min-width:8rem;padding:.2rem .4rem;font-weight:600}.day-name-input:focus{border-color:#16a34a;outline:none;box-shadow:0 0 0 2px #16a34a33}.day-move-button{cursor:pointer;color:#16a34a;background-color:#fff;border:1px solid #bbf7d0;border-radius:.375rem;padding:.2rem .4rem;font-size:.9rem;line-height:1}.day-move-button:hover:not(:disabled){color:#15803d;background-color:#ecfdf3;border-color:#86efac}.day-move-button:disabled{opacity:.4;cursor:not-allowed}.calendar-cell{border:1px solid #e2e8f0;padding:.35rem .5rem;font-size:.8rem;line-height:1.4}.calendar-day-block .calendar-header-row .calendar-cell:first-child{border-top-left-radius:.75rem}.calendar-day-block .calendar-header-row .calendar-cell:last-child{border-top-right-radius:.75rem}.calendar-day-block .calendar-notes-row .calendar-cell{border-bottom-right-radius:.75rem;border-bottom-left-radius:.75rem}.calendar-meal-header,.calendar-meal-label{z-index:2;text-align:center;background-color:#f1f5f9;justify-content:center;align-items:center;font-weight:600;display:flex;position:sticky;left:0}.calendar-diet-header{text-align:left;background-color:#f8fafc;font-weight:600}.calendar-notes-cell{color:#334155;cursor:pointer;background-color:#fff;position:relative}.calendar-notes-cell:hover{background-color:#f0fdf4}.calendar-meal-cell{color:#334155;cursor:pointer;vertical-align:top;background-color:#fff;min-height:3rem;position:relative}.calendar-meal-cell .edit-pen-icon,.calendar-notes-cell .edit-pen-icon{opacity:0;pointer-events:none;transition:opacity .15s;position:absolute;top:.25rem;right:.35rem}.calendar-meal-cell:hover .edit-pen-icon,.calendar-notes-cell:hover .edit-pen-icon{opacity:1}.app-notice{color:#14532d;background:#f0fdf4;border:1px solid #86efac;border-radius:.6rem;max-width:1100px;margin:.5rem auto 1rem;padding:.6rem .75rem;font-size:.9rem}.bmi-help--muted{color:#475569;margin-top:-.2rem}.meal-text{text-align:left;font-size:.78rem;display:block}.meal-section+.meal-section{margin-top:.35rem}.meal-section-label{text-transform:uppercase;letter-spacing:.03em;color:#475569;margin-bottom:.1rem;font-size:.7rem;font-weight:600}.meal-section-content{font-size:.78rem}.meal-text-name{font-weight:600;display:block}.meal-text-meta{color:#475569;display:block}.calendar-meal-cell:hover{background-color:#f0fdf4}.single-diet-day-content{flex-direction:column;gap:.35rem;margin-top:.45rem;display:flex}.single-diet-meal-row{grid-template-columns:105px minmax(0,1fr);align-items:stretch;gap:.35rem;display:grid}.single-diet-meal-label{background-color:#f8fafc;border:1px solid #e2e8f0;border-radius:.5rem;justify-content:center;align-items:center;padding:.35rem .45rem;font-size:.8rem;font-weight:600;display:flex}.single-diet-meal-cell,.single-diet-notes{border-radius:.5rem}.single-diet-notes{margin-top:.1rem}.calendar-meal-cell .placeholder,.calendar-notes-cell .placeholder,.placeholder{color:#166534;font-style:italic}@media (width<=768px){#root{padding-left:max(.75rem, env(safe-area-inset-left,0px));padding-right:max(.75rem, env(safe-area-inset-right,0px));padding-bottom:max(1rem, env(safe-area-inset-bottom,0px))}.app-header-top{flex-flow:row;justify-content:space-between;align-items:center;gap:.75rem}.app-header-top h1{flex:auto;min-width:0;font-size:clamp(1.35rem,5vw + .5rem,2.4rem);line-height:1.15}.app-header-actions{flex-wrap:nowrap;flex-shrink:0;justify-content:flex-end;align-items:center;gap:.35rem}.app-header-button{min-height:44px;padding:.55rem 1rem}.tool-grid{grid-template-columns:minmax(0,1fr)}.tool-card-actions{flex-direction:column;align-items:stretch}.tool-card-actions .dashboard-create,.tool-card-actions .dashboard-bmi-button,.tool-card-actions .tool-secondary-button{text-align:center;justify-content:center;align-items:center;width:100%;min-height:44px;display:inline-flex}.bmi-layout,.recipes-layout{grid-template-columns:minmax(0,1fr)}.bmi-height-row{flex-wrap:wrap}.bmi-field{flex:140px;min-width:0}.bmi-button{justify-content:center;align-items:center;width:100%;min-height:44px;display:inline-flex}.recipe-output-header{flex-direction:column;align-items:stretch}.recipe-actions{flex-wrap:wrap}.recipe-actions button{min-height:44px}.diet-panel{grid-template-columns:minmax(0,1fr)}.diet-form-row{flex-direction:column}.diet-form-row .diet-input,.diet-form-row .diet-add-button{width:100%}.diet-add-button{min-height:44px}.calendar-title-row{flex-direction:column;align-items:stretch;gap:.75rem;position:static}.calendar-title-preview{word-break:break-word;font-size:1.2rem}.calendar-title-actions{flex-direction:column;width:100%}.calendar-title-actions .calendar-action-button{width:100%;min-height:44px}.calendar-title-actions .calendar-export-pdf-group{justify-content:stretch;width:100%}.calendar-title-actions .calendar-export-pdf-group .calendar-action-button--secondary{flex:1;min-height:44px}.calendar-title-input--inline{width:100%;min-width:0}.calendar-wrapper{-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain;margin:0 -.25rem;padding:.35rem .5rem 1rem;overflow-x:auto}.calendar{min-width:700px}.single-week-grid{-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain;margin:0 -.25rem;padding:0 .25rem;overflow-x:auto}.single-week-grid-table{min-width:640px}.single-week-grid-row{grid-template-columns:72px repeat(7,minmax(52px,1fr))}.day-add-buttons{flex-direction:column}.day-add-buttons .day-add-button{width:100%;min-height:44px}.calendar-day-banner-inner{flex-wrap:wrap}.meal-editor{width:min(100vw - 1rem,700px);max-height:min(90dvh,900px)}.meal-editor-sections{grid-template-columns:minmax(0,1fr)}.meal-editor-footer{flex-direction:column-reverse;align-items:stretch;gap:.5rem}.meal-editor-secondary,.meal-editor-primary{width:100%;min-height:44px}.save-confirm-modal{-webkit-overflow-scrolling:touch;width:min(100% - 1rem,420px);max-height:min(90dvh,900px);overflow-y:auto}.save-confirm-actions{flex-wrap:wrap}.save-confirm-actions .save-confirm-button{flex:auto;min-height:44px}.menu-type-picker{grid-template-columns:minmax(0,1fr)}.menu-type-card-button{min-height:44px}.single-diet-view-toggle{flex-wrap:wrap;width:100%}.single-diet-view-button{text-align:center;flex:auto;min-height:44px}}@media (width<=380px){#root{padding-left:max(.5rem, env(safe-area-inset-left,0px));padding-right:max(.5rem, env(safe-area-inset-right,0px))}.app-subtitle{font-size:.88rem}}@page{size:auto;margin:14mm 16mm}@media print{html,body{overflow:visible!important}#root{box-sizing:border-box;width:100%!important;max-width:none!important;margin:0!important;padding:2mm 4mm 4mm!important}.app--menu-planner{max-width:none}.edit-pen-icon,.app-header-actions,.app-header-top,.app-subtitle,.diet-panel,.calendar-divider,.calendar-title-label,.calendar-title-input,.calendar-title-actions,.day-add-bar,.calendar-day-move,.meal-editor-backdrop,.save-confirm-backdrop,.calendar-export-info,.single-diet-view-toggle{display:none!important}.calendar-title-row{break-after:avoid;page-break-after:avoid;box-sizing:border-box;border-bottom:1px solid #e2e8f0;width:100%;max-width:1040px;margin:0 auto .85rem;padding:.35rem .5rem .65rem;position:static;top:auto}.calendar-wrapper{box-sizing:border-box;max-width:1040px;width:100%!important;margin:0 auto!important;padding:0 3mm 2mm!important;overflow:visible!important}.calendar,.calendar--single-diet{margin:0 auto;width:100%!important;min-width:0!important;max-width:100%!important}.calendar-row{width:100%;max-width:100%}.calendar-cell,.calendar-meal-cell,.calendar-notes-cell,.calendar-diet-header{word-break:break-word;overflow-wrap:anywhere;-webkit-hyphens:auto;hyphens:auto;padding:.32rem .45rem!important;overflow:visible!important}.calendar-meal-cell{min-height:0!important}.calendar-meal-header,.calendar-meal-label{padding:.28rem .45rem!important;font-size:.7rem!important}.calendar-diet-header{padding:.32rem .45rem!important;font-size:.68rem!important}.meal-text,.meal-section-content{font-size:.72rem!important;line-height:1.35!important}.calendar-day-banner{padding:.4rem .55rem!important}.single-diet-meal-label{padding:.3rem .35rem!important;font-size:.72rem!important}.single-week-grid{box-sizing:border-box;width:100%;max-width:1040px;margin:0 auto!important;padding:0 3mm 2mm!important;overflow:visible!important}.single-week-grid-table{page-break-inside:avoid;break-inside:avoid;width:100%;max-width:1040px;margin-left:auto;margin-right:auto;padding-top:1mm}.single-week-grid-table:not(:last-child){page-break-after:always;break-after:page}.single-week-grid-table:not(:first-child){padding-top:7mm}.single-week-grid-corner,.single-week-grid-label,.single-week-grid-day,.single-week-grid-cell{padding:.28rem .4rem!important;font-size:.68rem!important}.app-header-top{margin-bottom:.25rem}.app-header h1,.app-subtitle,.calendar-title-preview--placeholder{display:none!important}.calendar-title-preview{margin-bottom:0;font-size:1.2rem;font-weight:700}.calendar-day-block{-webkit-box-decoration-break:clone;box-decoration-break:clone;break-inside:avoid;page-break-inside:avoid;break-after:page;page-break-after:always;box-sizing:border-box;width:100%;max-width:1040px;margin-top:0;margin-left:auto;margin-right:auto;padding:2mm 4mm 5mm}.calendar-day-block:not(:first-of-type){padding-top:7mm}.calendar-day-block:last-of-type{break-after:auto;page-break-after:auto}body{-webkit-print-color-adjust:exact;print-color-adjust:exact}}
