:root{color:#1d2424;background:#f6f4ef;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:16px}*{box-sizing:border-box}body{margin:0;min-width:320px}button,input,select,textarea{font:inherit}button{border:0;cursor:pointer}textarea{min-height:84px;resize:vertical}input,select,textarea{width:100%;border:1px solid #cfd7d2;border-radius:8px;background:#fffefa;color:#1d2424;padding:9px 10px}select[multiple]{min-height:78px}.app{min-height:100vh}.topbar{position:sticky;top:0;z-index:10;display:flex;align-items:center;gap:16px;padding:12px 18px;border-bottom:1px solid #dce0d9;background:#fdfcf7f0;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.brand{display:inline-flex;align-items:center;gap:10px;min-width:190px;background:transparent;color:#173331;font-weight:800;font-size:1.05rem}.surface-switch{display:inline-flex;gap:4px;border:1px solid #cfd7d2;border-radius:8px;padding:3px;background:#fffefa}.surface-switch button,.sidebar button,.toolbar button,.ghost,.primary,.danger,.icon-button,.back-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:36px;border-radius:8px;padding:8px 12px;background:#edf1ed;color:#1d3a38}.surface-switch button.active,.sidebar button.active,.primary{background:#006c67;color:#fff}.danger{background:#f5d7d4;color:#8a261f}.ghost{background:transparent}.save-state{margin-left:auto;color:#60706b;font-size:.9rem}.notice{margin:12px 18px 0;border:1px solid #e1b84f;border-radius:8px;background:#fff5cf;padding:10px 12px}.screen-message{display:grid;min-height:100vh;place-items:center;color:#47615d}.admin-layout{display:grid;grid-template-columns:220px minmax(0,1fr);min-height:calc(100vh - 62px)}.sidebar{position:sticky;top:62px;align-self:start;display:flex;flex-direction:column;gap:8px;height:calc(100vh - 62px);border-right:1px solid #dce0d9;padding:18px;background:#fbfaf4}.sidebar button{justify-content:flex-start}.workspace{min-width:0;padding:24px}.flow{display:grid;gap:18px}.section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px}.section-head.compact{align-items:center}.section-head h1,.cook-hero h1,.detail-title h1{margin:0;color:#132f2d;letter-spacing:0}.section-head p{margin:6px 0 0;color:#61726d}.eyebrow{margin:0 0 4px;color:#b84d1d;font-size:.76rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.toolbar{display:flex;flex-wrap:wrap;gap:8px}.toolbar.end{justify-content:flex-end;margin-top:14px}.planner-grid{display:grid;min-width:980px;overflow:auto;border:1px solid #d7ded8;border-radius:8px;background:#fff}.grid-corner,.day-head,.slot-label,.meal-cell{border-bottom:1px solid #e6ebe6;border-right:1px solid #e6ebe6}.grid-corner,.day-head,.slot-label{padding:12px;background:#f2f4ec}.day-head{display:flex;align-items:center;justify-content:space-between;min-height:58px}.slot-label{display:grid;align-content:start;gap:5px}.slot-label span{color:#63746f}.meal-cell{display:grid;gap:8px;min-height:250px;padding:10px;background:#fffefa}.meal-cell.disabled{background:#f1eee7;opacity:.76}.status-done{box-shadow:inset 4px 0 #24965e}.status-skipped{box-shadow:inset 4px 0 #777f80}.status-changed{box-shadow:inset 4px 0 #d8752b}.status-needs_attention{box-shadow:inset 4px 0 #b73d42}.meal-tags{display:flex;flex-wrap:wrap;gap:5px}.meal-tags span,.portion-pill{border-radius:999px;background:#e6f0ed;color:#174743;padding:5px 8px;font-size:.82rem;font-weight:700}.compact-grid{display:grid;grid-template-columns:1.25fr .8fr .9fr;gap:7px}label{display:grid;gap:6px;color:#455652;font-size:.88rem;font-weight:700}.checkline{display:inline-flex;align-items:center;gap:8px}.checkline input{width:auto}.split-view{display:grid;grid-template-columns:minmax(260px,360px) minmax(0,1fr);gap:18px}.list-panel,.editor-panel{border:1px solid #d7ded8;border-radius:8px;background:#fffefa;padding:14px}.list-panel{display:grid;align-content:start;gap:8px}.list-row{display:grid;grid-template-columns:68px minmax(0,1fr);gap:10px;width:100%;border-radius:8px;padding:8px;background:transparent;text-align:left}.list-row.plain{grid-template-columns:1fr}.list-row.active,.list-row:hover{background:#eaf2ef}.list-row img{width:68px;height:54px;border-radius:6px;object-fit:cover}.list-row span{display:grid;min-width:0}.list-row small,.grocery-row small{color:#65746f}.form-grid{display:grid;gap:12px}.form-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.span-two{grid-column:1 / -1}.chips-field{display:flex;flex-wrap:wrap;gap:8px 14px;border:1px solid #d7ded8;border-radius:8px;padding:12px}.chips-field legend{color:#455652;font-weight:800}.chips-field label{display:inline-flex;align-items:center}.chips-field input{width:auto}.grocery-list{display:grid;gap:8px}.grocery-row{display:grid;grid-template-columns:minmax(220px,1fr) 120px 110px 130px;align-items:center;gap:12px;border:1px solid #d7ded8;border-radius:8px;background:#fffefa;padding:12px}.grocery-row.purchased{background:#e9f4ea;color:#53625d}.quantity{font-size:1.05rem;font-weight:800}.cook-shell{background:#f9f6ef}.cook-main,.cook-detail{display:grid;gap:24px;max-width:1180px;margin:0 auto;padding:24px}.cook-hero{display:flex;align-items:end;justify-content:space-between;gap:20px;border-bottom:1px solid #d8ddd5;padding:20px 0}.cook-hero p,.detail-title p{margin:0 0 6px;color:#b84d1d;font-weight:900}.cook-hero h1,.detail-title h1{font-size:clamp(2.2rem,5vw,4.7rem);line-height:.96}.cook-section{display:grid;gap:14px}.cook-section h2{margin:0;font-size:1.4rem}.cook-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px}.cook-card{display:grid;min-height:360px;overflow:hidden;border:2px solid #d8ddd5;border-radius:8px;background:#fff;color:#152d2b;text-align:left}.cook-card.now{border-color:#006c67}.cook-card img{width:100%;height:210px;object-fit:cover}.cook-card-content{display:grid;gap:8px;padding:16px}.cook-card strong{font-size:2rem;line-height:1}.cook-card small,.cook-card span,.cook-card em{color:#536660;font-size:1rem;font-style:normal;font-weight:800}.cook-card em{color:#b84d1d;text-transform:capitalize}.snack-strip{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}.snack-strip article{display:grid;gap:8px;border:1px solid #d7ded8;border-radius:8px;background:#fffefa;padding:16px}.snack-strip strong{font-size:1.4rem}.back-button{justify-self:start}.recipe-hero{width:100%;max-height:440px;border-radius:8px;object-fit:cover}.detail-title{display:grid;gap:8px}.detail-title span{color:#4d625d;font-size:1.2rem;font-weight:800}.big-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.big-actions button{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:72px;border-radius:8px;color:#fff;font-size:1.4rem;font-weight:900}.audio{background:#006c67}.done{background:#2d7a3f}.video{width:100%;aspect-ratio:16 / 9;border:0;border-radius:8px}.quantity-summary,.cook-note{display:grid;gap:8px;border:1px solid #d7ded8;border-radius:8px;background:#fffefa;padding:16px}.quantity-summary h2,.cook-note h2{margin:0}.quantity-summary div{display:flex;justify-content:space-between;gap:12px;border-top:1px solid #e6ebe6;padding-top:8px;font-size:1.15rem}.steps{display:grid;gap:16px}.step-card{display:grid;grid-template-columns:minmax(180px,300px) minmax(0,1fr);overflow:hidden;border:1px solid #d7ded8;border-radius:8px;background:#fffefa}.step-card img{width:100%;height:100%;min-height:210px;object-fit:cover}.step-card div{display:grid;align-content:center;gap:8px;padding:22px}.step-card span{display:grid;width:46px;height:46px;place-items:center;border-radius:50%;background:#006c67;color:#fff;font-size:1.35rem;font-weight:900}.step-card h2{margin:0;font-size:2rem}.step-card p{margin:0;color:#405450;font-size:1.35rem;line-height:1.35}.planner-head{align-items:center}.planner-controls{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.segmented,.day-strip{display:flex;gap:6px;border:1px solid #d4dcd5;border-radius:8px;background:#fffefa;padding:4px}.segmented button,.day-strip button,.status-row button{border-radius:8px;background:transparent;color:#24413e;padding:8px 11px;font-weight:800}.segmented button.active,.day-strip button.active,.status-row button.active{background:#006c67;color:#fff}.daily-planner{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(420px,100%),1fr));gap:16px}.visual-meal{display:grid;min-width:0;gap:14px;border:1px solid #d7ded8;border-radius:8px;background:#fffefa;padding:16px;box-shadow:0 10px 30px #212f2b0f}.visual-meal.off{background:#f0eee8;opacity:.78}.meal-card-top{display:flex;align-items:center;justify-content:space-between;gap:14px}.meal-card-top p{margin:0 0 4px;color:#b84d1d;font-weight:900}.meal-card-top h2{margin:0;font-size:1.6rem}.meal-card-top span{color:#60706b;font-weight:800}.switch{position:relative;width:58px;height:34px;border-radius:999px;background:#b9c0bd;padding:3px;transition:background .18s ease}.switch span{display:block;width:28px;height:28px;border-radius:999px;background:#fff;box-shadow:0 3px 8px #00000029;transition:transform .18s ease}.switch.on{background:#16885f}.switch.on span{transform:translate(24px)}.dish-summary,.people-meals{display:grid;gap:10px}.meal-people-strip{display:flex;flex-wrap:wrap;gap:8px;align-items:center;min-height:56px;border:1px solid #d7ded8;border-radius:8px;background:#f7faf5;padding:8px}.meal-people-strip span{display:inline-flex;align-items:center;gap:7px;border-radius:999px;background:#fff;color:#173331;padding:4px 9px 4px 4px;font-weight:900}.meal-people-strip img{width:38px;height:38px;border-radius:50%;object-fit:cover}.meal-people-strip em{color:#64746f;font-style:normal;font-weight:800}.dish-pill{display:grid;grid-template-columns:62px minmax(0,1fr) auto;align-items:center;gap:10px;border:1px solid #d7ded8;border-radius:8px;background:#f7faf5;padding:7px}.dish-pill img{width:62px;height:46px;border-radius:7px;object-fit:cover}.dish-pill span{font-weight:900}.dish-pill strong{display:grid;width:34px;height:34px;place-items:center;border-radius:50%;background:#006c67;color:#fff}.empty-dish{border:1px dashed #cbd5ce;border-radius:8px;color:#64746f;padding:14px}.person-meal{display:grid;grid-template-columns:54px minmax(0,1fr) auto auto;align-items:center;gap:10px;border:1px solid #e1e7e2;border-radius:8px;background:#fff;padding:9px}.person-meal.not-eating{background:#f0eee8;opacity:.75}.person-meal>img,.avatar-stack img,.cook-people img{width:48px;height:48px;border-radius:10px;object-fit:cover}.person-fields{display:grid;min-width:0;gap:8px}.person-name-line{display:flex;align-items:center;gap:8px;min-width:0}.person-name-line strong{overflow:hidden;color:#173331;text-overflow:ellipsis;white-space:nowrap}.person-name-line input{flex:1}.person-meal input,.person-fields input{min-width:0}.guest-memory{display:flex;flex-wrap:wrap;gap:6px}.guest-memory span{border:1px solid #d9e1dc;border-radius:999px;background:#f3f7f1;color:#31504c;padding:5px 9px;font-size:.82rem;font-weight:800;line-height:1.2}.meal-search{position:relative;display:grid}.meal-search img{position:absolute;right:6px;top:6px;width:34px;height:28px;border-radius:6px;object-fit:cover;pointer-events:none}.meal-search input{padding-right:48px}.meal-actions,.voice-row,.status-row{display:flex;flex-wrap:wrap;gap:8px}.meal-actions select{max-width:180px}.voice-row button,.meal-actions button,.upload-button,.audio-small{display:inline-flex;align-items:center;justify-content:center;gap:8px;width:auto;min-height:38px;border-radius:8px;background:#edf1ed;color:#173331;padding:8px 12px;font-weight:800}.upload-button{cursor:pointer}.upload-button input{display:none}.visual-week{display:grid;min-width:980px;overflow:auto;border:1px solid #d7ded8;border-radius:8px;background:#fffefa}.week-heading,.week-slot,.week-cell{border-bottom:1px solid #e2e8e2;border-right:1px solid #e2e8e2;padding:11px}.week-heading,.week-slot{background:#f2f4ec}.week-slot{display:grid;align-content:start;gap:4px}.week-slot span{color:#62726d}.week-cell{display:grid;align-content:start;gap:8px;min-height:150px}.week-cell.off{background:#efede6}.week-dish{display:grid;grid-template-columns:42px minmax(0,1fr) auto;align-items:center;gap:7px}.week-dish img{width:42px;height:34px;border-radius:6px;object-fit:cover}.week-dish span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:800}.week-dish strong,.off-label{color:#b84d1d}.avatar-stack{display:flex;margin-top:auto}.avatar-stack img{width:32px;height:32px;margin-right:-8px;border:2px solid #fffefa}.media-editor{display:grid;grid-template-columns:minmax(180px,280px) 1fr;align-items:end;gap:16px;margin-bottom:16px}.media-editor img{width:100%;aspect-ratio:4 / 3;border-radius:8px;object-fit:cover;border:1px solid #d7ded8}.person-photo img{max-width:170px;aspect-ratio:1}.polished-editor{background:linear-gradient(180deg,#fffefa,#f8fbf7)}.cook-table{display:grid;gap:12px}.cook-table-row{display:grid;grid-template-columns:110px minmax(240px,1fr) minmax(180px,.8fr) auto;align-items:center;gap:14px;border:1px solid #d7ded8;border-radius:8px;background:#fffefa;padding:12px}.time-block{display:grid;gap:3px}.time-block strong{color:#b84d1d;font-size:1.3rem}.time-block span{color:#455652;font-weight:900}.cook-dishes{display:grid;gap:8px}.cook-dishes button{display:grid;grid-template-columns:90px minmax(0,1fr);align-items:center;gap:12px;border-radius:8px;background:#f3f8f5;color:#173331;padding:8px;text-align:left}.cook-dishes img{width:90px;height:70px;border-radius:7px;object-fit:cover}.cook-dishes strong{display:block;font-size:1.45rem;line-height:1.05}.cook-dishes small{color:#5f706b;font-weight:900}.cook-people{display:flex;flex-wrap:wrap;gap:8px}.cook-people span{display:inline-flex;align-items:center;gap:7px;border-radius:999px;background:#edf3ef;color:#173331;padding:5px 9px 5px 5px;font-weight:900}.cook-people.large span{font-size:1.1rem}.audio,.audio-small{background:#006c67;color:#fff}.audio:disabled,.audio-small:disabled{background:#b8c1bd;cursor:default}.recipe-workbench{display:grid;grid-template-columns:minmax(300px,380px) minmax(0,1fr);gap:18px}.recipe-browser{position:sticky;top:86px;align-self:start;display:grid;gap:12px;max-height:calc(100vh - 110px);overflow:auto;border:1px solid #d7ded8;border-radius:8px;background:#fffefa;padding:14px}.recipe-search{display:grid;grid-template-columns:24px minmax(0,1fr);align-items:center;gap:8px;border:1px solid #cfd7d2;border-radius:8px;background:#f8fbf7;padding:8px 10px}.recipe-search input{border:0;background:transparent;padding:0;outline:0}.filter-panel-header{display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid #e2e8e2;padding-bottom:12px}.filter-panel-header strong{display:block;color:#173331;font-size:1rem}.clear-filters{display:inline-flex;align-items:center;gap:5px;min-height:34px;border:1px solid #cfd7d2;border-radius:8px;background:#fff;color:#173331;padding:7px 10px;font-weight:900}.clear-filters:disabled{cursor:not-allowed;opacity:.45}.saved-filter-row,.filter-chip-grid,.tag-cloud,.active-filter-row{display:flex;flex-wrap:wrap;gap:7px}.saved-filter-row button,.filter-chip-grid button,.active-filter-row button,.tag-cloud span{border-radius:999px;background:#edf3ef;color:#173331;padding:6px 9px;font-size:.83rem;font-weight:800}.active-filter-row button{display:inline-flex;align-items:center;gap:5px;background:#fff4df;color:#704500}.saved-filter-row button.active,.filter-chip-grid button.active{background:#006c67;color:#fff}.filter-group{border-top:1px solid #e2e8e2;padding-top:10px}.filter-group summary{cursor:pointer;color:#455652;font-weight:900;margin-bottom:8px}.recipe-count{color:#60706b;font-size:.9rem;font-weight:800}.recipe-results{display:grid;gap:8px}.recipe-result{display:grid;grid-template-columns:58px minmax(0,1fr);align-items:center;gap:10px;width:100%;border-radius:8px;background:transparent;color:#173331;padding:8px;text-align:left}.recipe-result.active,.recipe-result:hover{background:#eaf2ef}.recipe-result img{width:58px;height:48px;border-radius:7px;object-fit:cover}.recipe-result span{display:grid;min-width:0}.recipe-result strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.recipe-result small{color:#65746f}.recipe-detail{display:grid;gap:16px;min-width:0}.recipe-hero-panel,.recipe-decision-grid,.recipe-rich-grid,.recipe-info-grid{display:grid;gap:12px}.recipe-hero-panel{grid-template-columns:minmax(0,1fr) auto;align-items:start;border:1px solid #d7ded8;border-radius:8px;background:#fffefa;padding:18px}.recipe-hero-panel h1{margin:0;font-size:clamp(2rem,4vw,3.8rem);line-height:.98}.recipe-meta-line{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.recipe-meta-line span{border-radius:999px;background:#edf3ef;color:#173331;padding:6px 10px;font-weight:800}.recipe-actions{display:grid;gap:8px}.link-button,.recipe-actions button{display:inline-flex;align-items:center;justify-content:center;min-height:38px;border-radius:8px;background:#edf1ed;color:#173331;padding:8px 12px;text-decoration:none;font-weight:800}.link-button.primary{background:#006c67;color:#fff}.recipe-decision-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.rotation-card{display:grid;grid-template-columns:58px minmax(0,1fr);gap:10px;align-items:center;border:1px solid #d7ded8;border-radius:8px;background:#fffefa;padding:12px}.rotation-card.in{background:#eef8ef;border-color:#96caa5}.rotation-card img{width:58px;height:58px;border-radius:10px;object-fit:cover}.rotation-card select,.rotation-card input{grid-column:2 / -1}.rotation-card small{display:block;color:#60706b;font-weight:800}.recipe-rich-grid{grid-template-columns:minmax(0,1.4fr) minmax(260px,.6fr)}.recipe-visual-card,.recipe-facts,.info-panel{border:1px solid #d7ded8;border-radius:8px;background:#fffefa;padding:14px}.recipe-visual-card{display:block}.video-preview{display:grid;place-items:center;align-content:center;gap:8px;width:100%;aspect-ratio:16 / 9;min-height:220px;border:0;border-radius:8px;background:#edf3ef;color:#173331;font-weight:900}.video-preview.embedded{display:block;background:#111}.recipe-facts{display:grid;gap:10px}.metric{display:grid;gap:4px;border-bottom:1px solid #e2e8e2;padding-bottom:8px}.metric span{color:#60706b;font-size:.85rem;font-weight:900;text-transform:uppercase}.metric strong{font-size:1.3rem}.recipe-info-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.info-panel h2{margin:0 0 10px}.info-panel p{margin:0;color:#405450;white-space:pre-wrap}.ingredient-compact{display:grid;gap:7px}.ingredient-compact div{display:flex;justify-content:space-between;gap:12px;border-bottom:1px dotted #b8c1bd;padding-bottom:5px}.ingredient-compact span{color:#60706b}@media(max-width:900px){.admin-layout,.split-view,.recipe-workbench,.recipe-hero-panel,.recipe-rich-grid,.recipe-visual-card,.recipe-info-grid{grid-template-columns:1fr}.sidebar{position:static;flex-direction:row;height:auto;overflow-x:auto;border-right:0;border-bottom:1px solid #dce0d9}.workspace{padding:16px}.section-head,.cook-hero{align-items:stretch;flex-direction:column}.form-grid.two,.big-actions,.step-card,.grocery-row,.cook-table-row,.media-editor{grid-template-columns:1fr}.planner-grid{min-width:920px}.daily-planner{grid-template-columns:1fr}.visual-week{min-width:760px}.recipe-browser{position:static;max-height:none}}@media(max-width:560px){.topbar{flex-wrap:wrap}.brand{min-width:0}.save-state{margin-left:0}.cook-main,.cook-detail{padding:16px}.person-meal{grid-template-columns:46px minmax(0,1fr)}.person-meal>.switch{grid-column:2 / -1;justify-self:start}.person-meal .icon-button{grid-column:2 / -1}.day-strip{overflow-x:auto;width:100%}}
