:root{--orange:#e87522;--orange-dark:#c9540c;--orange-soft:#fff0e3;--ink:#2e2a27;--cream:#fff9f2;--line:#ead8c5;--muted:#756b63;--card:#fff;color:var(--ink);background:var(--cream);font-family:Arial,Helvetica,sans-serif}*{box-sizing:border-box}body{background:var(--cream);color:var(--ink);margin:0}button,input,select{font:inherit}.app-header{z-index:20;color:#fff;background:linear-gradient(135deg, var(--orange), var(--orange-dark));justify-content:space-between;align-items:center;gap:18px;padding:18px 22px;display:flex;position:sticky;top:0}.brand h1{margin:0;font-size:22px}.brand .sub{opacity:.92;margin-top:3px;font-size:12px}.user-box{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:9px;display:flex}.user-text{text-align:right;font-size:12px}.nav{z-index:19;border-bottom:1px solid var(--line);background:#fff;flex-wrap:wrap;gap:8px;padding:10px 16px;display:flex;position:sticky;top:70px}.nav button,.btn{background:var(--orange-soft);color:#8f3c08;cursor:pointer;border:0;border-radius:8px;padding:9px 12px;font-weight:700}.nav button.active,.btn.primary{background:var(--orange);color:#fff}.btn.ghost{border:1px solid var(--line);background:#fff}.btn:hover,.nav button:hover{filter:brightness(.98)}main{max-width:1300px;margin:0 auto;padding:18px}.view{display:none}.view.active{display:block}.panel,.card{background:var(--card);border:1px solid var(--line);border-radius:12px;margin-bottom:14px;padding:16px}.panel h2,.panel h3,.card h3{margin-top:0}.grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:12px;display:grid}.meta{color:var(--muted);font-size:12px}.ok{background:#edf8ec;border-left:4px solid #5c9b56;border-radius:7px;padding:10px}.warn{border-left:4px solid var(--orange);background:#fff1df;border-radius:7px;padding:10px}.pill{background:var(--orange-soft);color:#934008;border-radius:999px;padding:3px 8px;font-size:11px;font-weight:700;display:inline-block}.week{grid-template-columns:repeat(7,minmax(150px,1fr));gap:10px;padding-bottom:8px;display:grid;overflow-x:auto}.day{border:1px solid var(--line);border-top:5px solid var(--orange);background:#fff;border-radius:10px;min-height:250px;padding:10px}.day h3{margin:0 0 10px}.empty-slot{color:var(--muted);border:1px dashed #d9c4b1;border-radius:7px;margin:8px 0;padding:8px;font-size:12px}.status-row{grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:10px;display:grid}.status-card{min-height:128px}.status-dot{background:#5c9b56;border-radius:50%;width:10px;height:10px;margin-right:6px;display:inline-block}.status-dot.pending{background:var(--orange)}.placeholder-title{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}@media (width<=800px){.app-header{align-items:flex-start;position:static}.nav{top:0}.week{grid-template-columns:repeat(7,80vw)}}.status-strip{border:1px solid var(--line);background:#fff;border-radius:10px;flex-wrap:wrap;gap:12px 20px;margin-bottom:14px;padding:10px 12px;font-size:12px;display:flex}.recipe-toolbar{grid-template-columns:minmax(240px,2fr) repeat(3,minmax(140px,1fr)) auto;align-items:end;gap:10px;margin-top:14px;display:grid}.recipe-toolbar label{color:var(--muted);gap:5px;font-size:12px;font-weight:700;display:grid}.recipe-toolbar input[type=search],.recipe-toolbar select{border:1px solid var(--line);width:100%;min-height:40px;color:var(--ink);background:#fff;border-radius:8px;padding:8px 10px}.recipe-toolbar .checkline{white-space:nowrap;flex-direction:row;align-items:center;gap:7px;padding-bottom:10px;display:flex}.result-count{color:var(--muted);margin-top:12px;font-size:12px}.recipe-grid{grid-template-columns:repeat(auto-fill,minmax(285px,1fr));gap:12px;display:grid}.recipe-card{text-align:left;width:100%;min-height:155px;color:var(--ink);border:1px solid var(--line);cursor:pointer;background:#fff;border-radius:12px;padding:15px;display:block}.recipe-card:hover{border-color:#d39d73;transform:translateY(-1px);box-shadow:0 2px 10px #50321414}.recipe-card-head{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.recipe-card h3{margin:0 0 8px;font-size:17px}.recipe-card-head>div{flex-wrap:wrap;justify-content:flex-end;gap:4px;display:flex}.recipe-facts{color:#664a37;flex-wrap:wrap;gap:6px 12px;margin-bottom:7px;font-size:12px;font-weight:700;display:flex}.tagrow{flex-wrap:wrap;gap:5px;margin-top:10px;display:flex}.tag{color:#66574b;background:#f5efe8;border-radius:999px;padding:3px 7px;font-size:10px}.pill.green{color:#39743c;background:#edf8ec}.pill.gray{color:#666;background:#efefef}.loading{color:var(--muted);padding:16px 0}.modal-backdrop{z-index:100;background:#261c1485;justify-content:center;align-items:flex-start;padding:24px 12px;display:flex;position:fixed;inset:0;overflow:auto}.recipe-modal{background:var(--cream);border-radius:14px;width:min(1050px,100%);padding:18px;box-shadow:0 20px 60px #00000047}.modal-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:flex-start;gap:16px;padding-bottom:12px;display:flex}.modal-head h2{margin:0 0 4px}.recipe-summary{flex-wrap:wrap;gap:8px 18px;padding:12px 0;font-size:12px;display:flex}.recipe-columns{grid-template-columns:minmax(260px,.85fr) minmax(360px,1.4fr);gap:14px;display:grid}.recipe-columns>section,.variation-box,.review-note{border:1px solid var(--line);background:#fff;border-radius:10px;margin-bottom:12px;padding:14px}.recipe-columns h3,.variation-box h4{margin-top:0}.ingredient-list{padding-left:20px}.ingredient-list li{margin:7px 0;line-height:1.35}.directions,.notes{line-height:1.55}.variation-box h5{margin-bottom:6px}.review-note{color:var(--muted);font-size:12px}@media (width<=950px){.recipe-toolbar{grid-template-columns:1fr 1fr}.recipe-toolbar .searchbox{grid-column:1/-1}.recipe-columns{grid-template-columns:1fr}}@media (width<=560px){.recipe-toolbar{grid-template-columns:1fr}.recipe-toolbar .searchbox{grid-column:auto}.recipe-grid{grid-template-columns:1fr}.modal-backdrop{padding:0}.recipe-modal{border-radius:0;min-height:100%}.modal-head{background:var(--cream);z-index:2;position:sticky;top:0}}.button-toolbar{grid-template-columns:minmax(260px,1fr) auto auto;align-items:end}.button-toolbar .searchbox{min-width:0}.clear-filters{align-self:end;min-height:40px}.recipe-filter-stack{gap:11px;margin-top:12px;display:grid}.filter-group{grid-template-columns:76px 1fr;align-items:start;gap:9px;display:grid}.filter-label{color:var(--muted);padding-top:7px;font-size:12px;font-weight:700}.filter-buttons{flex-wrap:wrap;gap:6px;display:flex}.filter-chip{border:1px solid var(--line);color:#694725;cursor:pointer;background:#fff;border-radius:999px;padding:6px 10px;font-size:12px;font-weight:700}.filter-chip:hover{background:#fff9f2;border-color:#d39d73}.filter-chip.active{background:var(--orange);border-color:var(--orange);color:#fff}.calendar-toolbar-panel{gap:12px;display:grid}.calendar-title-row{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.calendar-title-row h2{margin-bottom:5px}.calendar-actions{flex-wrap:wrap;gap:8px;display:flex}.day.today{box-shadow:0 0 0 2px #e8752233}.day-head{justify-content:space-between;align-items:center;gap:6px;margin-bottom:8px;display:flex}.day-head h3{margin:0}.calendar-slot{width:100%;color:var(--ink);text-align:left;cursor:pointer;background:#fffaf5;border:1px solid #ead8c5;border-radius:8px;margin:7px 0;padding:8px 9px;display:block}.calendar-slot:hover{background:#fff5e9;border-color:#d39d73}.calendar-slot span{color:var(--muted);text-transform:uppercase;letter-spacing:.03em;margin-bottom:2px;font-size:10px;font-weight:700;display:block}.calendar-slot b{font-size:13px;line-height:1.25;display:block}.calendar-slot b em{color:var(--orange-dark);font-style:normal}.calendar-slot small{color:var(--muted);margin-top:3px;font-size:10px;line-height:1.2;display:block}.calendar-slot.empty{cursor:default;color:var(--muted);background:#fff;border-style:dashed}.calendar-slot.empty:hover{border-color:var(--line);background:#fff}.dinner-time{border-top:1px solid var(--line);color:#694725;margin-top:10px;padding-top:8px;font-size:11px;font-weight:700}.open-night{color:var(--muted);text-align:center;border:1px dashed #d9c4b1;border-radius:8px;margin-top:12px;padding:14px 9px;font-size:12px}@media (width<=950px){.button-toolbar{grid-template-columns:1fr auto}.button-toolbar .searchbox{grid-column:1/-1}}@media (width<=560px){.button-toolbar{grid-template-columns:1fr}.filter-group{grid-template-columns:1fr;gap:5px}.filter-label{padding-top:0}.filter-buttons{flex-wrap:nowrap;padding-bottom:4px;overflow-x:auto}.filter-chip{flex:none}.calendar-actions .btn{flex:30%}}.flash{z-index:30;color:#356536;background:#edf8ec;border:1px solid #b9d9b4;border-radius:9px;margin:0 0 12px;padding:10px 14px;font-weight:700;position:sticky;top:116px;box-shadow:0 2px 8px #0000000f}.slot-label{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;font-size:10px;font-weight:700}.calendar-edit-slot{border:1px solid var(--line);background:#fffaf5;border-radius:8px;margin:7px 0;padding:8px}.calendar-edit-slot.empty{background:#fff;border-style:dashed}.meal-name-link,.link-button{color:#5e3215;text-align:left;cursor:pointer;text-underline-offset:2px;background:0 0;border:0;padding:0;font-weight:700;-webkit-text-decoration:underline #d9b394;text-decoration:underline #d9b394}.meal-name-link{width:100%;margin:3px 0 6px;font-size:13px;display:block}.link-button{margin-right:10px}.choose-meal,.open-easy-btn{color:#8c5b36;cursor:pointer;background:#fff;border:1px dashed #d7b99e;border-radius:7px;width:100%;padding:7px}.open-easy-btn{margin-top:7px;font-size:11px}.slot-controls{flex-wrap:wrap;align-items:center;gap:5px;display:flex}.mini-btn{border:1px solid var(--line);color:#70401f;cursor:pointer;background:#fff;border-radius:6px;padding:4px 7px;font-size:10px;font-weight:700}.danger-lite{color:#9b3a28}.mini-select{border:1px solid var(--line);background:#fff;border-radius:6px;max-width:128px;padding:4px 5px;font-size:10px}.variant-select{max-width:170px}.time-edit{border-top:1px solid var(--line);color:#694725;align-items:center;gap:7px;margin-top:9px;padding-top:8px;font-size:11px;font-weight:700;display:flex}.time-edit input{border:1px solid var(--line);border-radius:6px;flex:1;min-width:0;padding:4px}.picker-modal{background:var(--cream);border-radius:14px;width:min(900px,100%);max-height:88vh;padding:18px;overflow:auto;box-shadow:0 20px 60px #00000047}.picker-search{border:1px solid var(--line);background:#fff;border-radius:8px;width:100%;min-height:42px;margin:12px 0;padding:8px 10px}.picker-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:8px;display:grid}.picker-recipe{text-align:left;border:1px solid var(--line);cursor:pointer;color:var(--ink);background:#fff;border-radius:8px;gap:4px;padding:10px;display:grid}.picker-recipe span{color:var(--muted);font-size:11px}.section-title{margin:18px 0 10px;font-size:18px}.shop-group{margin-bottom:10px}.shopping-line{border-bottom:1px solid #f1e7dd;align-items:flex-start;gap:8px;padding:7px 4px;line-height:1.3;display:flex}.shopping-line:last-child{border-bottom:0}.shopping-line.checked span{color:#91877f;text-decoration:line-through}.shopping-line em{color:var(--muted);font-size:11px}.prep-task{border:1px solid var(--line);background:#fffaf5;border-radius:9px;margin:8px 0;padding:10px}.prep-task.done{opacity:.68;background:#f2f7f1}.prep-check{align-items:flex-start;gap:8px;display:flex}.prep-task-body{gap:7px;margin:8px 0 0 26px;line-height:1.45;display:grid}.actual-yield{align-items:center;gap:7px;font-size:12px;font-weight:700;display:flex}.actual-yield input{border:1px solid var(--line);border-radius:6px;width:90px;padding:5px}.finish-prep-row{border-top:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:12px;margin-top:14px;padding-top:12px;display:flex}.prep-catalog-grid{grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:8px;display:grid}.prep-catalog-card{border:1px solid var(--line);background:#fff;border-radius:8px;justify-content:space-between;align-items:center;gap:8px;padding:9px;display:flex}.extra-stepper{flex:none;align-items:center;gap:6px;display:flex}.extra-stepper button{border:1px solid var(--line);background:var(--orange-soft);color:#8f3c08;cursor:pointer;border-radius:6px;width:28px;height:28px;font-weight:700}.extra-stepper b{white-space:nowrap;font-size:11px}.inventory-grid{grid-template-columns:repeat(auto-fill,minmax(245px,1fr));gap:10px;display:grid}.inventory-card{border:1px solid var(--line);background:#fff;border-radius:10px;padding:13px}.inventory-card h3{margin:0 0 7px;font-size:15px}.inventory-big{color:#713b16;font-size:25px;font-weight:800}.inventory-big small{color:var(--muted);font-size:11px;font-weight:700}.inventory-stats{grid-template-columns:1fr 1fr;gap:5px;margin:9px 0;font-size:11px;display:grid}.inventory-stats span{background:#f8f3ee;border-radius:6px;padding:5px}.inventory-stats .short{color:#a44715;background:#fff0e3}.inventory-actions{gap:7px;display:flex}.holiday-top{flex-wrap:wrap;align-items:end;gap:8px;display:flex}.holiday-top label{color:var(--muted);flex:260px;gap:4px;font-size:11px;font-weight:700;display:grid}.holiday-top select,.holiday-event-edit input,.holiday-event-edit textarea,.holiday-item-fields input,.holiday-item-fields select,.holiday-add select,#mealCardDateSelect{border:1px solid var(--line);background:#fff;border-radius:7px;width:100%;padding:7px}.holiday-event-edit{grid-template-columns:2fr 1fr 1fr;gap:9px;margin:12px 0;display:grid}.holiday-event-edit label,.holiday-item-fields label{color:var(--muted);gap:4px;font-size:11px;font-weight:700;display:grid}.holiday-event-edit .wide{grid-column:1/-1}.holiday-event-edit textarea{resize:vertical;min-height:60px}.holiday-add{grid-template-columns:1fr auto;gap:8px;margin-bottom:12px;display:grid}.holiday-item{border:1px solid var(--line);background:#fffaf5;border-radius:9px;margin:8px 0;padding:10px}.holiday-item-head{justify-content:space-between;align-items:start;gap:8px;display:flex}.holiday-item-fields{grid-template-columns:repeat(5,minmax(105px,1fr));gap:7px;margin:8px 0;display:grid}.holiday-item-fields .wide{grid-column:span 2}.holiday-output-grid{grid-template-columns:1fr 1fr;gap:14px;display:grid}.holiday-task{border-bottom:1px solid #f0e6dc;padding:8px 0}.timeline-row{border-bottom:1px solid #f0e6dc;grid-template-columns:74px 1fr;gap:10px;padding:8px 0;display:grid}.timeline-row>b{color:#9a4a16}.timeline-row span{gap:3px;display:grid}.timeline-row small{color:var(--muted);line-height:1.35}.mealcard-item{border:1px solid var(--line);background:#fff;border-radius:9px;margin:8px 0;padding:10px}.mealcard-item .ok,.mealcard-item .warn{margin-top:8px}.danger{color:#9b3a28!important}@media (width<=850px){.holiday-event-edit{grid-template-columns:1fr 1fr}.holiday-event-edit .wide{grid-column:1/-1}.holiday-item-fields{grid-template-columns:1fr 1fr}.holiday-output-grid{grid-template-columns:1fr}}@media (width<=560px){.flash{top:0}.slot-controls{align-items:stretch}.mini-select{flex:75px;max-width:100%}.variant-select{flex-basis:100%}.prep-task-body{margin-left:0}.prep-catalog-grid,.inventory-grid,.holiday-event-edit,.holiday-item-fields,.holiday-add{grid-template-columns:1fr}.holiday-item-fields .wide,.holiday-event-edit .wide{grid-column:auto}.picker-modal{border-radius:0;min-height:100vh;max-height:100vh}}.holiday-menu-head{justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;display:flex}.holiday-menu-head h3{margin:0}.holiday-picker-filters{margin:4px 0 12px}.holiday-picker-modal .result-count{margin-bottom:10px}@media (width<=640px){.holiday-menu-head{flex-direction:column;align-items:stretch}.holiday-menu-head .btn{width:100%}}.prep-range-panel{gap:12px;display:grid}.planning-range{border:1px solid var(--line);background:#fffaf5;border-radius:9px;flex-wrap:wrap;align-items:end;gap:9px;padding:10px;display:flex}.planning-range label{color:var(--muted);gap:4px;font-size:11px;font-weight:700;display:grid}.planning-range input[type=date]{border:1px solid var(--line);min-height:38px;color:var(--ink);font:inherit;background:#fff;border-radius:7px;padding:6px 8px;font-size:13px}.planning-range-presets{flex-wrap:wrap;gap:6px;margin-left:auto;display:flex}.btn.small{min-height:36px;padding:7px 9px}.range-summary{color:#694725;font-size:12px}@media (width<=640px){.planning-range{align-items:stretch}.planning-range label{flex:140px}.planning-range input[type=date]{width:100%;font-size:16px}.planning-range-presets{width:100%;margin-left:0}.planning-range-presets .btn{flex:30%}}.recipe-modal-actions{flex-wrap:wrap;gap:8px;margin:10px 0 14px;display:flex}.recipe-editor{gap:14px;display:grid}.recipe-edit-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.recipe-edit-grid label{color:var(--muted);gap:4px;font-size:11px;font-weight:700;display:grid}.recipe-edit-grid label.wide{grid-column:1/-1}.recipe-edit-grid input,.recipe-edit-grid textarea,.recipe-edit-ingredient input{border:1px solid var(--line);width:100%;color:var(--ink);font:inherit;background:#fff;border-radius:7px;padding:8px}.recipe-edit-grid textarea{resize:vertical;min-height:130px}.recipe-edit-ingredients{gap:8px;display:grid}.recipe-edit-ingredient{border:1px solid var(--line);background:#fffaf5;border-radius:8px;grid-template-columns:minmax(180px,2fr) 80px 90px minmax(110px,1fr) 90px auto auto;align-items:center;gap:7px;padding:8px;display:grid}.checkline.compact{white-space:nowrap;margin:0}.recipe-edit-actions{border-top:1px solid var(--line);flex-wrap:wrap;gap:8px;padding-top:10px;display:flex}@media (width<=900px){.recipe-edit-grid{grid-template-columns:1fr 1fr}.recipe-edit-ingredient{grid-template-columns:2fr 80px 90px 1fr}.recipe-edit-ingredient .checkline,.recipe-edit-ingredient button{justify-self:start}}@media (width<=600px){.recipe-edit-grid{grid-template-columns:1fr}.recipe-edit-grid label.wide{grid-column:auto}.recipe-edit-ingredient{grid-template-columns:1fr 1fr}.recipe-edit-ingredient input:first-child{grid-column:1/-1}}.calendar-picker-sort{flex-wrap:wrap;align-items:center;gap:7px;margin:10px 0 12px;display:flex}.calendar-picker-results{gap:14px;display:grid}.calendar-picker-group{gap:7px;display:grid}.calendar-picker-group h3{border-bottom:1px solid var(--line);color:#6f3c17;margin:0;padding-bottom:5px;font-size:14px}.calendar-picker-modal{max-width:920px}@media (width<=640px){.calendar-picker-sort .filter-chip{text-align:center;flex:auto}}.recipe-card{flex-direction:column;display:flex;overflow:hidden}.recipe-card-open{appearance:none;color:inherit;text-align:left;cursor:pointer;width:100%;font:inherit;background:0 0;border:0;flex:1;padding:0}.recipe-card-actions{border-top:1px solid var(--line);justify-content:flex-end;gap:6px;margin-top:10px;padding-top:8px;display:flex}.recipe-card-open:focus-visible{outline-offset:3px;border-radius:6px;outline:2px solid}.print-only{display:none}.print-section-head,.mealcard-toolbar{justify-content:space-between;align-items:center;gap:12px;display:flex}.holiday-print-menu{gap:6px;display:grid}.holiday-print-menu-item{border-bottom:1px solid var(--line);justify-content:space-between;gap:12px;padding:5px 0;display:flex}.holiday-print-menu-item span{color:var(--muted);text-align:right;font-size:12px}@media print{@page{margin:.45in}*{-webkit-print-color-adjust:economy;print-color-adjust:economy}body{font-size:10.5pt;color:#111!important;background:#fff!important}body[data-print-mode] .print-scope,body[data-print-mode] .print-scope *{box-shadow:none!important;background-color:#0000!important;background-image:none!important}body[data-print-mode] .print-scope{background:#fff!important}.app-header,.nav,.status-strip,.flash,.no-print,.modal-head .btn,.calendar-picker-modal,.holiday-picker-modal{display:none!important}.print-only{display:block!important}main{max-width:none!important;margin:0!important;padding:0!important}main>section{display:block!important}.panel,.recipe-modal,.day,.mealcard-item,.prep-task,.holiday-item{break-inside:avoid;box-shadow:none!important}.panel{background:#fff!important;border:1px solid #bbb!important}.section-title{margin-top:12px}.pill{border:1px solid #bbb;color:#111!important;background:#fff!important}a,button,.meal-name-link{color:#111!important;text-decoration:none!important}.shopping-line input,.shopping-line.checked{display:none!important}.shopping-line{border-bottom:1px solid #ddd!important;padding:3px 0!important}.shopping-line em{color:#555!important}.slot-controls,.choose-meal,.open-easy-btn,.time-edit{display:none!important}.calendar-edit-slot{min-height:0!important;padding:5px 0!important}.calendar-edit-slot.empty:after{content:"—";color:#777}.print-dinner{margin-top:6px;font-size:9pt}.week{grid-template-columns:repeat(7,minmax(0,1fr))!important;gap:4px!important;display:grid!important;overflow:visible!important}.day{background:#fff!important;border:1px solid #999!important;min-width:0!important;padding:7px!important}.day h3{font-size:10pt!important}.slot-label{font-size:7.5pt!important}.meal-name-link{padding:0!important;font-size:8.5pt!important}.prep-task-body{margin-left:0!important}.prep-print-box{margin-right:4px;display:inline!important}.prep-task.done{opacity:1!important;background:#fff!important}.holiday-output-grid{grid-template-columns:1fr 1fr!important;gap:10px!important;display:grid!important}.holiday-editor-panel{display:none!important}.holiday-print-header{border-bottom:2px solid #777;margin-bottom:10px}.holiday-print-header h1{margin:0 0 4px;font-size:20pt}.holiday-menu-panel{border:1px solid #bbb!important}.holiday-print-menu-item{break-inside:avoid}.recipe-columns{grid-template-columns:minmax(0,.9fr) minmax(0,1.3fr)!important;gap:18px!important;display:grid!important}.recipe-modal{background:#fff!important;border:0!important;width:auto!important;max-width:none!important;padding:0!important;position:static!important;overflow:visible!important}#recipeModalBackdrop{background:#fff!important;padding:0!important;position:static!important;inset:auto!important;overflow:visible!important}.ingredient-list{margin-top:4px}.variation-box{break-inside:avoid}body[data-print-mode] .print-scope{display:none!important}body[data-print-mode=calendar] [data-print-scope=calendar],body[data-print-mode=weekly-shopping] [data-print-scope=weekly-shopping],body[data-print-mode=prep-shopping] [data-print-scope=prep-shopping],body[data-print-mode=prep-day] [data-print-scope=prep-day],body[data-print-mode=mealcard] [data-print-scope=mealcard],body[data-print-mode=holiday] [data-print-scope=holiday],body[data-print-mode=recipe] [data-print-scope=recipe],body[data-print-mode=recipe] #recipeModalBackdrop{display:block!important}body[data-print-mode=recipe] main>section>:not(#recipeModalBackdrop),body[data-print-mode]:not([data-print-mode=recipe]) #recipeModalBackdrop{display:none!important}body[data-print-mode=weekly-shopping] .shop-group,body[data-print-mode=prep-shopping] .shop-group{break-inside:avoid;margin:0 0 8px!important;padding:8px!important}body[data-print-mode=prep-day] .prep-day-print-scope{display:block!important}body[data-print-mode=mealcard] .mealcard-item{margin:5px 0!important;padding:7px!important}body[data-print-mode=mealcard] .timeline-row{padding:4px 0!important}body[data-print-mode=holiday] .holiday-output-grid{align-items:start}}@media print and (width<=8.5in){.week{grid-template-columns:repeat(4,minmax(0,1fr))!important}}.prep-counter,.recipe-prep-adjust{flex-wrap:wrap;align-items:center;gap:7px;display:flex}.prep-counter-value{text-align:center;min-width:28px;font-size:14px;font-weight:800}.recipe-prep-adjust{border:1px solid var(--line);background:#fffaf5;border-radius:8px;padding:7px 9px}button:disabled{opacity:.4;cursor:not-allowed}.canning-session-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:12px;display:grid}.canning-session-grid label,.canning-session-grid .wide{color:var(--muted);gap:4px;font-size:11px;font-weight:700;display:grid}.canning-session-grid .wide{grid-column:1/-1}.canning-session-grid input,.canning-session-grid select{width:100%;min-width:0}.canning-process-box{border-radius:8px;margin:12px 0;padding:10px 12px}.canning-session-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.canning-batch-summary{margin-top:12px}.canning-inventory-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:10px;display:grid}.canning-inventory-card{border-top:4px solid #b46a25}.canning-session-row{border-bottom:1px solid var(--line);grid-template-columns:minmax(0,1.3fr) minmax(0,.8fr);gap:4px 12px;padding:8px 0;display:grid}.canning-session-row small{color:var(--muted);grid-column:1/-1}.canning-safety{background:#fff8ef;border:2px solid #c7843d;border-radius:10px;margin:12px 0;padding:12px}.canning-safety-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;display:flex}.canning-safety h3{margin:0}@media (width<=900px){.canning-session-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=560px){.canning-session-grid{grid-template-columns:1fr}.canning-session-grid .wide{grid-column:auto}.canning-session-row{grid-template-columns:1fr}}@media print{.canning-safety{background:#fff!important;border:1px solid #888!important}}.recipe-top-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.authoring-modal{max-width:1180px!important}.author-section{border:1px solid var(--line);background:#fffdf9;border-radius:10px;margin:14px 0;padding:14px}.author-section>h3,.author-section .section-head h3{margin-top:0}.section-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.classification-author{gap:14px;display:grid}.choice-chips{flex-wrap:wrap;gap:7px;margin-top:7px;display:flex}.choice-chip{cursor:pointer;align-items:center;display:inline-flex;position:relative}.choice-chip input{opacity:0;pointer-events:none;position:absolute}.choice-chip span{border:1px solid var(--line);background:#fff;border-radius:999px;padding:7px 10px;font-size:12px;font-weight:700}.choice-chip input:checked+span{background:var(--orange);color:#fff;border-color:var(--orange)}.choice-chip input:focus-visible+span{outline-offset:2px;outline:2px solid}.recipe-edit-ingredient{border:1px solid var(--line);background:#fff;border-radius:9px;grid-template-columns:minmax(230px,2fr) minmax(210px,1.6fr) 80px 95px minmax(120px,1fr) 90px minmax(190px,1.4fr) auto auto;align-items:end;gap:8px;margin:8px 0;padding:10px;display:grid}.recipe-edit-ingredient label,.variation-edit-grid label,.prep-author-grid label{color:var(--muted);gap:4px;min-width:0;font-size:11px;font-weight:700;display:grid}.recipe-edit-ingredient input,.recipe-edit-ingredient select,.variation-edit-grid input,.variation-edit-grid select,.prep-author-grid input,.prep-author-grid select{width:100%;min-width:0}.ingredient-main{gap:5px;min-width:0;display:grid}.canonical-match{color:#356e32;font-size:10px}.canonical-match.muted{color:var(--muted)}.variation-editor{border:1px solid var(--line);background:#fff;border-left:4px solid #d7a36b;border-radius:10px;margin:10px 0;padding:12px}.variation-editor-head{justify-content:space-between;align-items:center;gap:10px;display:flex}.variation-editor-head h4{margin:0}.variation-edit-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;display:grid}.variation-edit-grid .wide{grid-column:1/-1}.variation-ingredients{gap:7px;margin:8px 0;display:grid}.variation-ingredient{border-top:1px solid var(--line);grid-template-columns:minmax(150px,1.7fr) minmax(150px,1.4fr) 70px 90px 110px minmax(180px,1.6fr) auto auto;align-items:center;gap:7px;padding-top:7px;display:grid}.variation-ingredient small{color:#356e32;grid-column:1/-1}.prep-author-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;margin-top:10px;display:grid}.prep-author-grid .wide{grid-column:1/-1}.prep-author-grid.inactive{opacity:.52}.switchline{align-items:center;gap:7px;font-weight:800;display:flex}.switchline input{width:18px;height:18px}.recipe-validation{border:1px solid var(--line);border-radius:10px;margin:14px 0;padding:14px}.recipe-validation.ready{background:#f2faf1}.recipe-validation.needs-work{background:#fff8ee}.validation-columns{grid-template-columns:1fr 1fr;gap:16px;margin-top:10px;display:grid}.validation-ok{color:#356e32;margin:4px 0}.validation-warn{color:#934008;margin:4px 0}.relationship-panel{border:1px solid var(--line);background:#fffaf5;border-radius:9px;margin:10px 0;padding:10px}.relationship-panel h3{margin-top:0}.relationship-row{grid-template-columns:70px 1fr;align-items:start;gap:8px;margin:6px 0;display:grid}.relationship-links{flex-wrap:wrap;gap:6px;display:flex}.relationship-link{border:1px solid var(--line);cursor:pointer;color:#8f3c08;background:#fff;border-radius:999px;padding:5px 9px;font-weight:700}.relationship-tag{color:#24598a!important;background:#eef5ff!important}@media (width<=1100px){.recipe-edit-ingredient{grid-template-columns:repeat(4,minmax(0,1fr))}.ingredient-main{grid-column:1/-1}.variation-edit-grid,.prep-author-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.variation-ingredient{grid-template-columns:repeat(4,minmax(0,1fr))}}@media (width<=700px){.recipe-edit-ingredient,.variation-edit-grid,.prep-author-grid,.variation-ingredient,.validation-columns{grid-template-columns:1fr}.variation-edit-grid .wide,.prep-author-grid .wide,.ingredient-main{grid-column:auto}.relationship-row{grid-template-columns:1fr}.recipe-top-actions{align-items:stretch}.recipe-top-actions .btn{width:100%}}@media print{.relationship-link{border:0;padding:0}.relationship-links{display:block}.relationship-link{text-align:left;display:block}}.pantry-build-hero{gap:12px;display:grid}.pantry-dashboard{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;display:grid}.pantry-dashboard span{border:1px solid var(--line);background:#fffaf5;border-radius:9px;gap:2px;padding:10px;display:grid}.pantry-dashboard b{font-size:20px}.pantry-filter-head{align-items:center;gap:10px;display:flex}.pantry-filter-head .picker-search{flex:1}.pantry-stock-grid{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:10px;display:grid}.pantry-stock-card{border:1px solid var(--line);background:#fff;border-radius:11px;gap:10px;padding:12px;display:grid}.pantry-stock-card.needs-stock{border-left:4px solid #b65d14}.pantry-stock-head{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.pantry-stock-head h3{margin:0}.pantry-stock-metrics{flex-wrap:wrap;gap:6px;display:flex}.pantry-stock-metrics span{border:1px solid var(--line);border-radius:999px;padding:4px 7px;font-size:11px}.ok-inline{color:#356e32}.pantry-target-row{grid-template-columns:minmax(150px,.7fr) minmax(0,1.3fr);align-items:end;gap:10px;display:grid}.pantry-target-row label{color:var(--muted);gap:4px;font-size:11px;font-weight:700;display:grid}.pantry-target-row input{border:1px solid var(--line);min-height:38px;font:inherit;border-radius:7px;padding:6px 8px}.pantry-build-row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.canning-build-note{border:1px solid var(--line);background:#fff8ee;border-radius:8px;padding:8px}.canning-pill{color:#934008;background:#fff0e3}.pantry-work{border-bottom:1px solid var(--line);min-width:0;padding:12px 0}.pantry-work:last-child{border-bottom:0}.pantry-work.done{opacity:.65}.pantry-work-head{justify-content:space-between;align-items:flex-start;gap:16px;min-width:0;display:flex}.pantry-work-head .prep-check{flex:auto;min-width:0}.pantry-work-head .prep-check span{overflow-wrap:anywhere;min-width:0}.pantry-work-head .inline-link{white-space:nowrap;flex:none}.pantry-work-body{gap:7px;min-width:0;margin:8px 0 0 26px;line-height:1.45;display:grid}.pantry-work-instructions{overflow-wrap:anywhere;min-width:0}.pantry-work-body label{flex-wrap:wrap;align-items:center;gap:7px;display:flex}.pantry-work-body input{width:95px}.canning-work{border:1px solid var(--line);background:#fffaf5;border-radius:9px;justify-content:space-between;align-items:flex-start;gap:14px;margin:6px 0;padding:10px;display:flex}.canning-work>div{min-width:0}.canning-work .btn{flex:none}.canning-supply-panel{gap:7px;display:grid}.canning-supply-row{border-bottom:1px solid var(--line);grid-template-columns:minmax(180px,.8fr) minmax(0,1.2fr);gap:12px;padding:6px 0;display:grid}.inventory-ledger{gap:0;display:grid}.ledger-row{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;padding:7px 0;display:flex}.ledger-row:last-child{border-bottom:0}.ledger-row span{display:grid}.ledger-row small{color:var(--muted)}.inline-link{appearance:none;color:#934008;font:inherit;cursor:pointer;background:0 0;border:0;padding:0;font-weight:700;text-decoration:underline}.inline-link:hover{text-decoration:none}@media (width<=720px){.pantry-dashboard{grid-template-columns:1fr 1fr}.pantry-filter-head{flex-direction:column;align-items:stretch}.pantry-target-row,.canning-supply-row,.pantry-stock-grid{grid-template-columns:1fr}.pantry-work-head{gap:10px}.pantry-work-body{margin-left:0}.canning-work{grid-template-columns:1fr;display:grid}.canning-work .btn{justify-self:start}}@media print{body[data-print-mode=pantry-build] [data-print-scope=pantry-build]{display:block!important}body[data-print-mode=pantry-build] .pantry-stock-grid,body[data-print-mode=pantry-build] .pantry-build-hero .planning-range{display:none!important}body[data-print-mode=pantry-build] .pantry-dashboard{grid-template-columns:repeat(4,1fr)!important}body[data-print-mode=pantry-build] .pantry-work,body[data-print-mode=pantry-build] .canning-supply-row{break-inside:avoid}}.calendar-option-modal{max-width:760px}.calendar-option-list{gap:10px;margin-top:14px;display:grid}.option-card{text-align:left}.option-card span{display:block}.option-helper{color:var(--muted);margin-top:4px}.picker-recipe-title{justify-content:space-between;align-items:flex-start;gap:10px;width:100%;display:flex}.picker-choice-badge{opacity:.82;border:1px solid;border-radius:999px;flex:none;padding:2px 8px;font-size:.72rem;font-weight:700;line-height:1.35;display:inline-flex}.meal-choice-label{background:#0000000e;border-radius:999px;margin-top:4px;padding:3px 8px;font-size:.76rem;font-weight:700;display:inline-block}@media print{.meal-choice-label{background:0 0;border:1px solid #999}}.pantry-stock-author{align-items:flex-start;gap:8px;padding-top:6px}.pantry-stock-author .meta{font-weight:400;display:inline}.pantry-route-control{background:#fffaf0;border-color:#d9c7a8}.inventory-link-validator{margin-top:14px}.inventory-link-validator.validator-error{border-left:5px solid #b8422a}.inventory-link-validator.validator-review{border-left:5px solid #b77718}.inventory-link-validator.validator-ok{border-left:5px solid #4d7d44}.validator-counts{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.danger-pill{color:#8b2f1e!important;background:#fde9e4!important}.validator-issues{gap:8px;margin-top:12px;display:grid}.validator-issue{border-top:1px solid var(--line);grid-template-columns:72px 1fr auto;align-items:center;gap:10px;padding-top:8px;display:grid}.validator-issue.error>b{color:#9d3020}.validator-issue.review>b{color:#9a5a0a}@media (width<=700px){.validator-issue{grid-template-columns:1fr}.validator-counts{justify-content:flex-start}}.validator-class-summary{flex-wrap:wrap;align-items:center;gap:8px;margin-top:10px;display:flex}.validator-help{margin-top:8px}.validator-issue{grid-template-columns:88px 1fr auto}.validator-issue.stock>b{color:#7a6427}.validator-issue.producer>b{color:#8a5b0d}.diagnostics-hero{margin-bottom:14px}.diagnostic-notes{border-top:1px solid var(--line);margin-top:14px;padding-top:10px}.diagnostic-notes summary{cursor:pointer;font-weight:700}.validator-issue.info>b{color:var(--muted)}.validator-issue.manual>b{color:#6f5d21}.validator-issue.legacy>b{color:var(--muted)}.prep-shopping-assurance,.prep-shopping-note{border:1px solid var(--line);background:#fffaf5;border-radius:8px;margin:8px 0 10px;padding:9px 11px;line-height:1.4}.prep-shopping-note{margin-top:0}.prep-task-body>.pill{justify-self:start}.shopping-line-row{border-bottom:1px solid #f1e7dd;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;display:grid}.shopping-line-row:last-child{border-bottom:0}.shopping-line-row .shopping-line{border-bottom:0;min-width:0}.shopping-line-row .inline-link{white-space:nowrap;font-size:11px}.share-toolbar,.share-actions,.section-title-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.section-title-row{justify-content:space-between;margin-top:18px}.section-title-row .section-title{margin:0}.ingredient-cleanup-hero,.ingredient-cleanup-list{gap:12px;display:grid}.ingredient-cleanup-card{border:1px solid var(--line);background:#fff;border-radius:11px;gap:12px;padding:14px;display:grid}.ingredient-cleanup-card.focus{border-left:5px solid #b65d14;box-shadow:0 2px 10px #0000000d}.ingredient-cleanup-head{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.ingredient-cleanup-head h3{margin:0}.ingredient-cleanup-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;display:grid}.ingredient-cleanup-grid label{color:var(--muted);gap:5px;font-size:11px;font-weight:700;display:grid}.ingredient-cleanup-grid input[type=text]{border:1px solid var(--line);min-height:40px;font:inherit;color:var(--text);background:#fff;border-radius:7px;padding:7px 9px}.ingredient-cleanup-grid small{font-weight:400}.ingredient-cleanup-grid .ingredient-exclude{color:var(--text);grid-column:1/-1;align-items:center;display:flex}.ingredient-rule-preview{border:1px solid var(--line);background:#fffaf5;border-radius:8px;padding:9px 11px}.ingredient-cleanup-actions{flex-wrap:wrap;gap:8px;display:flex}@media (width<=900px){.ingredient-cleanup-grid{grid-template-columns:1fr 1fr}}@media (width<=620px){.ingredient-cleanup-grid{grid-template-columns:1fr}.shopping-line-row{grid-template-columns:minmax(0,1fr) auto}.share-toolbar{align-items:stretch}.section-title-row{align-items:flex-start}}@media print{.shopping-line-row{border-bottom:1px solid #ddd;display:block}.shopping-line-row .shopping-line{border:0}.section-title-row{margin-top:10px;display:block}}@media (width<=700px){html,body{max-width:100%;overflow-x:hidden}body{-webkit-text-size-adjust:100%}.app-header{z-index:40;align-items:center;min-height:48px;padding:9px 12px;position:sticky;top:0;box-shadow:0 1px 6px #0000001f}.brand h1{font-size:20px;line-height:1.15}.brand .sub,.user-box{display:none}.nav{z-index:39;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;scrollbar-width:none;flex-wrap:nowrap;gap:6px;padding:7px 10px;position:sticky;top:48px;overflow-x:auto;box-shadow:0 2px 6px #0000000f}.nav::-webkit-scrollbar{display:none}.nav button{white-space:nowrap;scroll-snap-align:center;flex:none;min-height:38px;padding:8px 11px}main{width:100%;padding:10px}.status-strip{display:none}.flash{margin-bottom:8px;top:94px}.panel,.card{border-radius:10px;margin-bottom:10px;padding:12px}.panel h2{font-size:20px}.panel h3,.card h3{line-height:1.25}.meta{line-height:1.35}.btn,button,input,select,textarea{max-width:100%}input,select,textarea,.picker-search,.recipe-toolbar input[type=search],.recipe-toolbar select,.planning-range input[type=date]{font-size:16px}.btn{min-height:42px}.btn.small{min-height:40px}.mini-btn{min-height:34px;padding:6px 9px}input[type=checkbox]{flex:none;width:18px;height:18px}.week{grid-template-columns:1fr;gap:9px;padding-bottom:0;overflow:visible}.day{min-height:0;padding:11px}.calendar-title-row{align-items:stretch}.calendar-actions{width:100%}.calendar-actions .btn{flex:calc(50% - 4px)}.calendar-slot{padding:10px}.calendar-slot b{font-size:14px}.filter-buttons{-webkit-overflow-scrolling:touch;scrollbar-width:none;flex-wrap:nowrap;padding-bottom:3px;overflow-x:auto}.filter-buttons::-webkit-scrollbar{display:none}.filter-chip{flex:none;min-height:36px}.recipe-grid,.picker-grid{grid-template-columns:1fr}.recipe-card{min-height:0;padding:12px}.recipe-card h3{font-size:16px}.recipe-modal{padding:12px}.recipe-summary{gap:6px 12px}.recipe-columns>section,.variation-box,.review-note{padding:12px}.recipe-modal-actions,.recipe-edit-actions{grid-template-columns:1fr 1fr;display:grid}.recipe-modal-actions .btn,.recipe-edit-actions .btn{width:100%}.section-title-row{flex-direction:column;align-items:stretch;gap:8px}.share-toolbar,.share-actions{grid-template-columns:1fr 1fr;width:100%;display:grid}.share-toolbar .btn,.share-actions .btn{width:100%}.shopping-line-row{grid-template-columns:minmax(0,1fr);gap:0;padding:2px 0 5px}.shopping-line-row .inline-link{justify-self:end;padding:4px 2px}.shopping-line{padding:8px 2px 5px}.shopping-line span{overflow-wrap:anywhere;min-width:0}.prep-catalog-card{flex-direction:column;align-items:stretch}.prep-catalog-card .extra-stepper{align-self:flex-start}.finish-prep-row{align-items:stretch}.finish-prep-row .btn{flex:100%}.actual-yield{flex-wrap:wrap}.pantry-dashboard{grid-template-columns:1fr 1fr}.pantry-stock-card,.inventory-card{padding:11px}.pantry-stock-head{flex-direction:column}.pantry-work-head{grid-template-columns:minmax(0,1fr) auto;display:grid}.pantry-work-body{margin-left:0}.inventory-actions{flex-wrap:wrap}.inventory-actions .btn{flex:45%}.planning-range{grid-template-columns:1fr;padding:9px;display:grid}.planning-range label{width:100%}.planning-range-presets{grid-template-columns:repeat(2,1fr);width:100%;display:grid}.planning-range-presets .btn{width:100%}.holiday-top{align-items:stretch}.holiday-top label{flex-basis:100%}.holiday-item-head,.ingredient-cleanup-head{flex-direction:column;align-items:stretch}.ingredient-cleanup-actions{grid-template-columns:1fr 1fr;display:grid}.ingredient-cleanup-actions .btn{width:100%}.canning-work{grid-template-columns:1fr}.canning-work .btn{width:100%}.timeline-row{grid-template-columns:62px minmax(0,1fr);gap:8px}.panel,.card,.day,.prep-task,.pantry-work,.recipe-card,.mealcard-item,.holiday-item,.ingredient-cleanup-card,.directions,.notes,.review-note{overflow-wrap:anywhere;min-width:0}}@media (width<=390px){main{padding:8px}.panel,.card{padding:10px}.share-toolbar,.share-actions,.recipe-modal-actions,.recipe-edit-actions,.ingredient-cleanup-actions{grid-template-columns:1fr}.pantry-dashboard{grid-template-columns:1fr 1fr;gap:6px}}.meal-option-summary{color:#4f6649;margin-top:4px;font-size:.74rem;line-height:1.3}.meal-option-summary.needs-choice{color:#9b4b14;font-weight:700}.calendar-optional-list{gap:9px;margin-top:14px;display:grid}.calendar-optional-row{border:1px solid var(--line);background:#fff;border-radius:9px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:14px;padding:11px 12px;display:grid}.optional-choice-actions{align-items:center;gap:6px;display:flex}.option-answer.selected{background:var(--orange);border-color:var(--orange);color:#fff}.option-footer{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;margin-top:14px;padding-top:12px;display:flex}@media (width<=560px){.calendar-optional-row{grid-template-columns:1fr;gap:8px}.optional-choice-actions{grid-template-columns:1fr 1fr;display:grid}.optional-choice-actions .mini-btn{min-height:40px}.option-footer{flex-direction:column;align-items:stretch}.option-footer .btn{width:100%}}@media print{.meal-option-summary,.meal-option-summary.needs-choice{color:#333}}.calendar-edit-slot,.slot-controls{min-width:0}.variant-select{box-sizing:border-box;white-space:nowrap;text-overflow:ellipsis;flex:100%;width:100%;min-width:0;max-width:100%;display:block;overflow:hidden}.variant-select option{max-width:100%}.meal-choice-label,.meal-option-summary{overflow-wrap:anywhere}.calendar-add-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:5px;margin:7px 0 3px;display:grid}.calendar-add-slot{color:#8c5b36;cursor:pointer;white-space:nowrap;text-overflow:ellipsis;background:#fff;border:1px dashed #d7b99e;border-radius:7px;min-width:0;padding:6px 5px;font-size:10px;font-weight:700;overflow:hidden}@media (width<=560px){.variant-select{flex-basis:100%;width:100%;max-width:100%}.calendar-add-slot{min-height:36px;font-size:12px}}.dinner-extra-slot{border-left:3px solid #e7c4a6}.mealcard-vision-note{border-top:1px solid var(--line);flex-wrap:wrap;align-items:baseline;gap:8px 16px;margin-top:10px;padding-top:10px;display:flex}.mealcard-vision-note span{color:var(--muted);font-size:12px}.mealcard-course{margin:0 0 14px}.mealcard-course>h3{align-items:center;gap:8px;margin:0 0 6px;display:flex}.timeline-assumption{border-bottom:1px solid #f0e6dc;padding:6px 0;line-height:1.4}.timeline-assumption:last-child{border-bottom:0}.equipment-note{border-radius:7px;margin:6px 0;padding:8px 10px;line-height:1.35}.equipment-note.warn{border-left:4px solid var(--orange);background:#fff6eb}.equipment-note.ok{background:#f4faf3;border-left:4px solid #5c9b56}.mealcard-print-scope .timeline-row{grid-template-columns:130px minmax(0,1fr)}.timeline-advance>b{color:#6e5b50}.timeline-hold>b{color:#3f6d43}.timeline-finish>b{color:#8d4a18}@media (width<=640px){.calendar-add-row{grid-template-columns:repeat(3,minmax(0,1fr))}.mealcard-print-scope .timeline-row{grid-template-columns:105px minmax(0,1fr)}.mealcard-print-scope .timeline-row>b{font-size:11px;line-height:1.25}}@media print{body[data-print-mode=mealcard] .mealcard-print-scope .timeline-row{grid-template-columns:105px 1fr!important}body[data-print-mode=mealcard] .equipment-note{border:1px solid #bbb!important}}.calendar-meal-subgroup{border:1px solid var(--line);background:#fffdf9;border-radius:9px;margin:8px 0;padding:6px}.meal-subgroup-label{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin:0 0 2px;font-size:10px;font-weight:800}.lunch-subgroup .calendar-edit-slot{margin:5px 0}.lunch-add-row{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:5px}@media (width<=560px){.lunch-add-row{grid-template-columns:repeat(2,minmax(0,1fr))}}.report-issue-fab{z-index:45;background:var(--orange-dark);color:#fff;cursor:pointer;border:0;border-radius:999px;padding:11px 16px;font-weight:700;position:fixed;bottom:18px;right:18px;box-shadow:0 6px 22px #4025123d}.report-issue-fab:hover{filter:brightness(.98)}.issue-modal{width:min(760px,100%)}.issue-form{grid-template-columns:1fr 1fr;gap:12px;padding-top:14px;display:grid}.issue-form label{color:var(--muted);gap:6px;font-size:12px;font-weight:700;display:grid}.issue-form label.wide,.issue-photo-section{grid-column:1/-1}.issue-form select,.issue-form textarea{border:1px solid var(--line);width:100%;color:var(--ink);background:#fff;border-radius:8px;padding:9px 10px}.issue-form textarea{resize:vertical;min-height:120px;line-height:1.4}.issue-photo-section{border:1px solid var(--line);background:#fff;border-radius:10px;padding:12px}.issue-photo-picker{justify-content:center;align-items:center;display:inline-flex;position:relative;overflow:hidden}.issue-photo-picker input{opacity:0;cursor:pointer;width:100%;height:100%;position:absolute;inset:0}.issue-photo-picker:has(input:disabled){opacity:.5;cursor:default}.issue-photo-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px;margin-top:12px;display:grid}.issue-photo-preview{border:1px solid var(--line);background:var(--cream);border-radius:8px;padding:7px}.issue-photo-preview img{aspect-ratio:4/3;object-fit:cover;background:#fff;border-radius:6px;width:100%;margin-bottom:7px;display:block}.issue-photo-preview .btn{width:100%;padding:6px 8px}.issue-actions{justify-content:flex-end;padding-top:14px;display:flex}.issue-log-panel{margin-bottom:14px}.issue-log-toolbar{flex-wrap:wrap;gap:8px;display:flex}.issue-log-list{gap:10px;margin-top:12px;display:grid}.issue-log-item{border:1px solid var(--line);background:#fff;border-radius:10px;padding:12px}.issue-log-item.resolved{opacity:.72}.issue-log-description{margin:10px 0 8px;line-height:1.45}.issue-log-actions{margin-top:10px}.issue-log-actions .btn{padding:6px 9px}@media (width<=560px){.report-issue-fab{padding:10px 13px;bottom:12px;right:12px}.issue-form{grid-template-columns:1fr}.issue-form label.wide,.issue-photo-section{grid-column:auto}.issue-modal{border-radius:0;min-height:100vh}.issue-log-toolbar{width:100%}.issue-log-toolbar .btn{flex:1}}
