:root{color-scheme:light;--ink:#20251f;--muted:#767c71;--green:#456b45;--green-dark:#345438;--mint:#e9efe3;--cream:#f5f4ed;--paper:#fffefa;--line:#e9e9df;--orange:#cb8150;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;font-synthesis:none}*{box-sizing:border-box}body{margin:0;min-width:320px;background:var(--cream);color:var(--ink)}button,input,select{font:inherit}button{ -webkit-tap-highlight-color:transparent}[hidden]{display:none!important}.app-shell{width:min(100%,660px);min-height:100dvh;margin:0 auto;padding:max(16px,env(safe-area-inset-top)) 18px calc(92px + env(safe-area-inset-bottom))}.topbar{display:flex;align-items:center;gap:11px;padding:2px 0 20px}.brand-mark{display:grid;place-items:center;width:42px;height:42px;border-radius:15px;background:var(--green);color:#fff;font-size:25px}.eyebrow{margin:0 0 5px;color:var(--green);font-size:10px;font-weight:700;letter-spacing:.15em}h1,h2,h3,p{margin-top:0}h1{margin:0;font-size:19px;letter-spacing:-.04em}.version{margin-left:auto;color:var(--muted);font-size:11px}.security-trigger{display:inline-flex;align-items:center;gap:4px;flex:none;min-height:34px;padding:0 7px;border:1px solid var(--line);border-radius:10px;background:transparent;color:var(--muted);font-size:10px;font-weight:650;cursor:pointer}.security-trigger.has-recovery{color:var(--green);border-color:#cdd9c5}.security-dialog{max-height:min(80dvh,560px)}.security-body{max-height:calc(80dvh - 70px);overscroll-behavior:contain;-webkit-overflow-scrolling:touch}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:16px}.section-heading h2{margin:0 0 4px;font-size:26px;letter-spacing:-.05em}.muted{margin:0;color:var(--muted);font-size:13px}.meal-count{display:flex;min-width:58px;flex-direction:column;align-items:flex-end;color:var(--muted);font-size:10px}.meal-count strong{color:var(--green);font-size:23px;line-height:1.1}.week-list,.recipe-list{display:grid;gap:7px}.day-card{position:relative;display:grid;grid-template-columns:44px minmax(0,1fr) 78px 30px;align-items:center;gap:7px;min-height:64px;padding:8px 8px 8px 10px;border:1px solid var(--line);border-radius:15px;background:var(--paper);box-shadow:0 2px 4px #28361c08}.day-label{display:flex;flex-direction:column;align-items:center;gap:2px;color:var(--muted);font-size:9px}.day-label strong{color:var(--ink);font-size:18px;line-height:1}.day-card select{width:100%;min-width:0;height:42px;padding:0 23px 0 9px;border:1px solid transparent;border-radius:11px;outline:none;appearance:none;background:#f6f6f0 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='m1 1 5 5 5-5' fill='none' stroke='%23767c71' stroke-width='1.7'/%3E%3C/svg%3E") no-repeat right 8px center;color:var(--ink);font-size:12px}.day-card select:focus-visible,input:focus-visible,button:focus-visible{outline:3px solid #94b88c;outline-offset:2px}.day-card .duration-select{padding:0 19px 0 6px;font-size:11px;text-align:center}.day-card .duration-select:disabled{opacity:.75;color:var(--muted)}.clear-day,.remove-item,.icon-button{display:grid;place-items:center;width:30px;height:34px;border:0;border-radius:10px;background:transparent;color:#92958b;font-size:20px;cursor:pointer}.clear-day:hover,.remove-item:hover,.icon-button:hover{background:#f8eee8;color:#a65e49}.cooking-note{grid-column:2/4;margin-top:-5px;color:var(--green);font-size:10px}.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:46px;padding:0 14px;border:0;border-radius:14px;font-weight:700;font-size:13px;cursor:pointer}.button-primary{background:var(--green);color:#fff;box-shadow:0 5px 14px #456b4520}.button-primary:active{background:var(--green-dark)}.button-secondary{border:1px solid var(--line);background:var(--paper);color:var(--green)}.button-danger{background:#fbefea;color:#984d3d}.button-wide{width:100%;margin-top:14px}.helper{max-width:340px;margin:10px auto 0;color:var(--muted);text-align:center;font-size:11px;line-height:1.5}.tabbar{position:fixed;z-index:3;right:0;bottom:0;left:0;display:grid;grid-template-columns:repeat(3,1fr);width:min(100%,660px);margin:0 auto;padding:7px 14px calc(7px + env(safe-area-inset-bottom));border:1px solid #e6e6dc;border-bottom:0;border-radius:20px 20px 0 0;background:#fffefaed;box-shadow:0 -8px 30px #27311b0a;backdrop-filter:blur(16px)}.tab{position:relative;display:flex;min-height:50px;flex-direction:column;align-items:center;justify-content:center;gap:1px;border:0;background:transparent;color:#85897f;font-size:10px;font-weight:600;cursor:pointer}.tab.active{color:var(--green)}.tab-icon{font-size:19px;line-height:1.1}.tab-badge{position:absolute;top:3px;left:calc(50% + 10px);min-width:17px;height:17px;padding:1px 4px;border-radius:10px;background:var(--orange);color:white;font-size:10px;text-align:center}.shopping-list{display:grid;gap:7px;margin:12px 0 0;padding:0;list-style:none}.shopping-item{display:grid;grid-template-columns:25px minmax(0,1fr) auto 34px 30px;align-items:center;gap:7px;min-height:54px;padding:6px 7px 6px 10px;border:1px solid var(--line);border-radius:14px;background:var(--paper)}.shopping-item>input{width:21px;height:21px;margin:0;accent-color:var(--green)}.item-name{min-width:0;overflow-wrap:anywhere;font-size:12px}.item-amount{color:var(--muted);font-size:11px;white-space:nowrap}.shopping-item.checked .item-name{color:#92958b;text-decoration:line-through}.edit-item{display:grid;place-items:center;width:34px;height:34px;border:0;border-radius:10px;background:#f1f3eb;color:var(--green);font-size:16px;cursor:pointer}.empty-state{display:flex;flex-direction:column;align-items:center;gap:8px;margin-top:48px;color:var(--muted);text-align:center;font-size:12px}.empty-state strong{color:var(--ink);font-size:16px}.empty-icon{display:grid;place-items:center;width:56px;height:56px;margin-bottom:4px;border-radius:18px;background:var(--mint);color:var(--green);font-size:28px}.recipe-card{padding:13px;border:1px solid var(--line);border-radius:16px;background:var(--paper)}.recipe-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.recipe-head h3{margin:0 0 3px;font-size:15px;letter-spacing:-.03em}.ingredient-count{color:var(--muted);font-size:10px}.small-button{min-height:34px;padding:0 10px;border:1px solid var(--line);border-radius:10px;background:var(--paper);color:var(--green);font-size:11px;font-weight:700;white-space:nowrap}.ingredient-list{display:flex;flex-wrap:wrap;gap:5px;margin:10px 0 0;padding:0;list-style:none}.ingredient-list li{padding:5px 8px;border-radius:8px;background:#f1f3eb;color:#596452;font-size:10px}.notice{margin:0 0 16px;padding:11px 13px;border:1px solid #e8c693;border-radius:12px;background:#fff7e8;color:#715323;font-size:12px;line-height:1.5}.toast{position:fixed;z-index:8;right:16px;bottom:calc(82px + env(safe-area-inset-bottom));left:16px;width:max-content;max-width:calc(100% - 32px);margin:0 auto;padding:10px 14px;border-radius:12px;background:#28372a;color:#fff;font-size:12px;opacity:0;pointer-events:none;transform:translateY(8px);transition:.18s ease}.toast.visible{opacity:1;transform:translateY(0)}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;clip-path:inset(50%)}
.dialog{width:min(520px,calc(100% - 24px));max-height:min(86dvh,780px);padding:0;border:1px solid var(--line);border-radius:20px;background:var(--paper);color:var(--ink);box-shadow:0 24px 70px #16201538}.dialog::backdrop{background:#18201870;backdrop-filter:blur(2px)}.dialog-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 18px;border-bottom:1px solid var(--line)}.dialog-head h2{margin:0;font-size:20px;letter-spacing:-.04em}.dialog-body{display:grid;gap:12px;padding:15px 18px 18px;overflow:auto}.dialog .form-stack{display:grid;gap:13px;padding:17px}.form-stack>.dialog-head{margin:-17px -17px 0;padding:15px 17px}.field,.form-stack input,.form-stack select{width:100%;min-height:42px;padding:9px 10px;border:1px solid var(--line);border-radius:10px;background:#fbfbf7;color:var(--ink);font-size:13px}.form-stack label{display:grid;gap:5px;font-size:12px;font-weight:650}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:9px}.field-help{margin:-6px 0 0;color:var(--muted);font-size:11px;line-height:1.45}.product-library{display:grid;gap:6px;max-height:38dvh;overflow:auto}.product-option{display:grid;grid-template-columns:25px minmax(0,1fr) auto;align-items:center;gap:8px;padding:8px;border:1px solid var(--line);border-radius:12px;background:#fff}.product-option>input{width:20px;height:20px;accent-color:var(--green)}.product-option span{display:grid;gap:3px;min-width:0}.product-option strong{font-size:12px}.product-option small{color:var(--muted);font-size:10px}.manual-details{padding-top:9px;border-top:1px solid var(--line);font-size:12px}.manual-details summary{font-weight:700;color:var(--green);cursor:pointer}.manual-details .form-stack{padding:12px 0 0}.check-label{display:flex!important;grid-template-columns:none!important;align-items:center;gap:9px!important;font-weight:500!important}.check-label input{width:20px;height:20px;accent-color:var(--green)}.ingredient-heading{display:flex;align-items:center;justify-content:space-between}.ingredient-editor{display:grid;gap:7px;max-height:30dvh;overflow:auto}.ingredient-row{display:grid;grid-template-columns:minmax(0,1fr) 76px 62px 30px;align-items:end;gap:5px;padding:7px;border:1px solid var(--line);border-radius:12px;background:#fff}.ingredient-row label{display:grid;gap:4px;color:var(--muted);font-size:10px;font-weight:600}.ingredient-row input{min-height:38px;padding:7px;font-size:11px}.remove-ingredient{width:30px;height:36px;border:0;border-radius:9px;background:#fbefea;color:#984d3d;font-size:19px}.form-actions{display:flex;align-items:center;gap:7px;padding-top:5px}.form-actions .button{min-height:40px;padding:0 11px;font-size:12px}.form-spacer{flex:1}
@media(min-width:600px){.app-shell{padding-right:28px;padding-left:28px}.week-list{grid-template-columns:1fr 1fr}.day-card:first-child{grid-column:1/-1}.tabbar{border-radius:20px 20px 0 0}}@media(max-width:360px){.app-shell{padding-right:11px;padding-left:11px}.day-card{grid-template-columns:39px minmax(0,1fr) 68px 26px;gap:5px;padding-right:5px;padding-left:7px}.day-card select{padding-left:6px;font-size:11px}.day-card .duration-select{font-size:10px}.shopping-item{grid-template-columns:23px minmax(0,1fr) auto 30px 26px;gap:4px;padding-right:4px;padding-left:7px}.item-name{font-size:11px}.item-amount{font-size:10px}.ingredient-row{grid-template-columns:minmax(0,1fr) 62px 52px 28px;gap:4px;padding:5px}}@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition-duration:.01ms!important}}
:root{scrollbar-gutter:stable}
html,body{max-width:100%;overflow-x:clip}
button,input,select{touch-action:manipulation}
@media(max-width:599px){input:not([type=checkbox]):not([type=radio]),select,textarea{font-size:16px!important}}
.period-form{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.72fr) auto;align-items:end;gap:8px;margin:0 0 12px}
.period-form label{display:grid;gap:4px;min-width:0;color:var(--muted);font-size:10px;font-weight:650}
.period-form input{width:100%;min-width:0;height:38px;padding:6px 8px;border:1px solid var(--line);border-radius:10px;background:var(--paper);color:var(--ink);font:inherit;font-size:12px}
.period-form .small-button{min-height:38px}
.day-card{grid-template-columns:40px minmax(0,1fr) 74px 28px;min-width:0}
.day-card .choose-meal{width:100%;min-width:0;min-height:40px;padding:6px 9px;overflow:hidden;border:1px solid transparent;border-radius:11px;background:#f6f6f0;color:var(--ink);font-size:12px;text-align:left;text-overflow:ellipsis;white-space:nowrap;cursor:pointer}
.day-card .choose-meal:active{background:var(--mint)}
.day-card .duration-select{min-width:0;padding-right:17px}
.clear-spacer{width:28px;height:1px}
.recipe-picker-list{display:grid;gap:7px;max-height:62dvh;padding:12px 16px;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;touch-action:pan-y}
.picker-recipe{display:grid;gap:4px;min-height:54px;padding:9px 11px;border:1px solid var(--line);border-radius:12px;background:#fff;text-align:left;cursor:pointer}
.picker-recipe strong{color:var(--ink);font-size:13px}
.picker-recipe small{color:var(--muted);font-size:10px}
.picker-recipe:active{background:var(--mint)}
.picker-outside-meal.selected{border-color:var(--green)!important;box-shadow:inset 0 0 0 1px var(--green)}
.picker-actions{display:flex;justify-content:flex-end;padding:0 16px 14px}
.picker-actions .button-danger{min-height:40px}
.product-library,.ingredient-editor{overscroll-behavior:contain;-webkit-overflow-scrolling:touch;touch-action:pan-y}
.ingredient-row select{width:100%;min-height:38px;padding:6px 3px;border:1px solid var(--line);border-radius:8px;background:#fbfbf7;color:var(--ink);font-size:11px}
.shopping-item{min-width:0}
.shopping-item>input,.product-option>input{touch-action:manipulation}
@media(max-width:360px){.period-form{grid-template-columns:minmax(0,1fr) minmax(0,.7fr);}.period-form .small-button{grid-column:1/-1;width:100%}.day-card{grid-template-columns:36px minmax(0,1fr) 69px 25px;gap:4px}.day-card .choose-meal{padding-right:5px;padding-left:6px;font-size:11px}.recipe-picker-list{padding-right:11px;padding-left:11px}}
.shopping-tools{display:flex;justify-content:center;gap:8px;margin-top:9px}.shopping-store-heading{padding:9px 4px 1px;color:var(--green);font-size:12px;font-weight:700;letter-spacing:.02em}.shopping-store-heading:not(:first-child){margin-top:5px}.inline-actions{display:flex;gap:6px}.danger-text{color:#984d3d}.store-form{padding:0 14px 12px;border-bottom:1px solid var(--line)}.store-form .field-help{margin:0}
.import-preview{display:grid;gap:10px;margin-top:12px;padding:13px;border:1px solid var(--line);border-radius:14px;background:#fbfbf7}.import-preview h3{margin:0;font-size:15px}.import-summary{display:grid;grid-template-columns:1fr 1fr;gap:4px 12px}.import-summary-row{display:flex;justify-content:space-between;gap:8px;margin:0;color:var(--muted);font-size:11px}.import-summary-row strong{color:var(--ink)}.notice-warning{margin:0;border-color:#e8c693;background:#fff7e8;color:#715323}
#product-edit-form .form-actions{display:grid;grid-template-columns:1fr 1fr;align-items:stretch}#product-edit-form .form-spacer{display:none}#delete-catalog-product{grid-column:1/-1}#delete-catalog-product:disabled{opacity:.55;cursor:not-allowed}.product-delete-impact{margin:0}
.notice{display:grid;justify-items:start;gap:8px}
.review-button{margin:0 0 10px}
.recipe-import{display:grid;gap:7px;padding:11px;border:1px solid var(--line);border-radius:12px;background:#f8f8f2}
.recipe-import>label{font-size:12px;font-weight:700}
.recipe-import textarea{width:100%;min-height:110px;padding:9px 10px;border:1px solid var(--line);border-radius:10px;background:#fff;color:var(--ink);font:inherit;font-size:12px;line-height:1.45;resize:vertical}
.weekly-review-list{display:grid;gap:8px;max-height:66dvh;padding:12px 16px;overflow:auto;-webkit-overflow-scrolling:touch}
.weekly-review-card{display:grid;gap:9px;padding:12px;border:1px solid var(--line);border-radius:13px;background:#fff}
.weekly-review-card h3{margin:0;font-size:14px}
.weekly-review-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}
.weekly-review-actions button{min-height:38px;padding:4px 6px;border:1px solid var(--line);border-radius:9px;background:#f7f8f2;color:var(--green);font-size:10px;font-weight:700}
.weekly-review-actions button:disabled{opacity:.45}
.review-empty{padding:14px;color:var(--muted);font-size:12px;text-align:center}
.period-form{grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto}
.period-form label{font-size:11px}
.period-form input{font-size:16px}
.product-manager-dialog{width:min(660px,calc(100% - 16px));height:min(92dvh,900px);max-height:calc(100dvh - env(safe-area-inset-top) - env(safe-area-inset-bottom) - 16px);padding:0;display:flex;flex-direction:column;overscroll-behavior:contain}
.product-manager-dialog>.dialog-head{flex:none;padding-top:max(12px,env(safe-area-inset-top));}
.manager-tools{display:grid;gap:8px;padding:10px 13px;border-bottom:1px solid var(--line)}
.manager-tools>.field{min-height:42px;font-size:16px}
.manager-actions{display:flex;flex-wrap:wrap;gap:6px}
.manager-actions .small-button{min-height:34px}
.manager-actions button:disabled{opacity:.45}
.manager-product-list{max-height:none;min-height:0;flex:1;gap:5px;padding:0 11px calc(12px + env(safe-area-inset-bottom));overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;touch-action:pan-y}
.manager-product-row{grid-template-columns:22px minmax(0,1fr) auto;gap:7px;padding:7px 8px}
.manager-product-row>input{width:18px;height:18px}
.manager-product-row strong{font-size:12px;overflow-wrap:anywhere}
.manager-product-row small{font-size:10px;line-height:1.35}
.manager-product-row .small-button{min-height:30px;padding:0 8px;font-size:10px}
.duplicate-body{min-height:0;padding-bottom:calc(16px + env(safe-area-inset-bottom))}
.duplicate-suggestions{display:grid;gap:7px;max-height:40dvh;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}
.duplicate-suggestion{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;padding:9px;border:1px solid var(--line);border-radius:12px;background:white}
.duplicate-suggestion span{display:grid;gap:3px;min-width:0;font-size:12px}
.duplicate-suggestion small{color:var(--muted);font-size:10px}
.duplicate-suggestion .inline-actions{align-items:center;flex-wrap:wrap;justify-content:flex-end}
.manual-merge-form{padding:12px 0 0;border-top:1px solid var(--line)}
.merge-conflicts{display:grid;gap:9px;max-height:48dvh;overflow:auto}
.merge-conflict{display:grid;gap:5px}
.merge-conflict>strong{font-size:11px}
.merge-conflict select{width:100%;min-height:42px;padding:8px;border:1px solid var(--line);border-radius:10px;background:#fbfbf7;color:var(--ink);font-size:13px}
@media(max-width:599px){
  .period-form{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:7px}
  .period-form label{font-size:11px;line-height:1.3}
  .period-form .small-button{grid-column:1/-1;width:100%;min-height:42px}
  .product-manager-dialog{width:calc(100% - 12px);max-height:calc(100dvh - env(safe-area-inset-top) - env(safe-area-inset-bottom) - 8px);border-radius:17px}
  .manager-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
  .manager-actions #find-product-duplicates{grid-column:1/-1}
  .manager-actions .small-button{white-space:normal}
  .duplicate-suggestion{grid-template-columns:minmax(0,1fr)}
  .duplicate-suggestion .inline-actions{justify-content:flex-start}
}
@media(max-width:360px){.period-form input{padding-right:5px;padding-left:5px}.manager-product-row{grid-template-columns:20px minmax(0,1fr) auto;gap:5px;padding-right:6px;padding-left:6px}}
.notice-actions{display:flex;flex-wrap:wrap;gap:7px}
.manager-selection-preview,.bulk-selected-preview{display:flex;flex-wrap:wrap;gap:5px;max-height:74px;overflow:auto}
.manager-selection-preview span,.bulk-selected-preview span{padding:4px 7px;border-radius:8px;background:#f1f3eb;color:#526047;font-size:10px;line-height:1.35}
.manager-primary{background:var(--mint);font-weight:800}
.manager-actions #clear-product-selection{margin-left:auto}
.item-amount{display:grid;justify-items:end;gap:2px;text-align:right}
.item-amount small,.item-name small{display:block;color:var(--muted);font-size:9px;line-height:1.3;white-space:normal}
.needs-manual{color:#986132;font-size:10px;font-weight:750;white-space:nowrap}
.quantity-warning{color:#986132!important}
.bulk-merge-dialog{display:flex;width:min(680px,calc(100% - 16px));height:min(90dvh,860px);max-height:calc(100dvh - env(safe-area-inset-top) - env(safe-area-inset-bottom) - 24px);flex-direction:column;overflow:hidden}
.bulk-merge-form{display:flex!important;min-height:0;flex:1;flex-direction:column;gap:0!important;padding:0!important}
.bulk-merge-form>.dialog-head{flex:none;margin:0;padding:max(12px,env(safe-area-inset-top)) 16px 12px}
.bulk-merge-scroll{min-height:0;flex:1;display:grid;align-content:start;gap:13px;padding:14px 16px;overflow:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}
.bulk-merge-scroll h3{margin:0 0 4px;font-size:13px}
.bulk-merge-scroll section{display:grid;gap:8px;min-width:0}
.bulk-merge-actions{flex:none;padding:10px 14px;border-top:1px solid var(--line);background:var(--paper)}
.bulk-merge-actions .button{min-height:44px}
.bulk-purchase-profiles,.bulk-mapping-rules{display:grid;gap:8px}
.purchase-profile,.bulk-map-row{min-width:0;margin:0;padding:10px;border:1px solid var(--line);border-radius:12px;background:#fff}
.purchase-profile legend{padding:0 4px;color:var(--green);font-size:11px;font-weight:750}
.purchase-profile .check-label{margin-bottom:8px}
.profile-fields{display:grid;gap:8px}
.profile-fields[hidden],.yield-rules[hidden]{display:none}
.profile-fields input,.yield-rules input{min-width:0;width:100%;min-height:40px;padding:8px;border:1px solid var(--line);border-radius:9px;background:#fbfbf7;color:var(--ink);font:inherit;font-size:13px}
.bulk-map-row{display:grid;gap:7px}
.bulk-map-row>strong{font-size:12px;overflow-wrap:anywhere}
.bulk-map-row>small{color:var(--muted);font-size:10px;line-height:1.4;overflow-wrap:anywhere}
.bulk-map-row>label,.yield-rules label{display:grid;gap:4px;color:var(--muted);font-size:10px;font-weight:650}
.bulk-map-row select{width:100%;min-width:0;min-height:40px;padding:7px;border:1px solid var(--line);border-radius:9px;background:#fbfbf7;color:var(--ink);font-size:13px}
.yield-rules{display:grid;grid-template-columns:repeat(auto-fit,minmax(125px,1fr));gap:7px}
.conflict-product-values{display:grid;gap:6px;margin:0;padding:0;list-style:none}
.conflict-product-values li{padding:7px 8px;border-radius:9px;background:#f5f5ee;color:var(--muted);font-size:10px;line-height:1.4;overflow-wrap:anywhere}
.conflict-product-values strong{color:var(--ink)}
.bulk-final-preview{padding:10px;border-radius:11px;background:#f1f3eb}
@media(max-width:599px){
  .period-form{grid-template-columns:minmax(0,1fr);gap:8px}
  .period-form label{font-size:12px}
  .period-form input{min-height:42px;font-size:16px}
  .period-form .small-button{grid-column:auto;width:100%;min-height:44px}
  .manager-actions{grid-template-columns:repeat(2,minmax(0,1fr))}
  .manager-actions #clear-product-selection{margin-left:0}
  .bulk-merge-dialog{position:fixed;inset-block-start:max(8px,env(safe-area-inset-top));inset-block-end:calc(78px + env(safe-area-inset-bottom));width:calc(100% - 16px);height:auto;max-height:none;margin-block:0;border-radius:16px}
  .bulk-merge-scroll{padding:12px 12px 16px;gap:11px}
  .bulk-merge-scroll .form-row{grid-template-columns:minmax(0,1fr)}
  .bulk-merge-actions{padding-right:12px;padding-left:12px}
  .bulk-merge-actions .button{padding:0 9px;font-size:11px}
}
.manager-shopping-product{display:grid;gap:6px;padding:8px;border:1px solid var(--line);border-radius:12px;background:#fff}.manager-shopping-row{display:grid;grid-template-columns:24px minmax(0,1fr) auto;align-items:center;gap:8px;min-width:0}.manager-shopping-row>input,.manager-ingredient-row>input{width:20px;height:20px;margin:0;accent-color:var(--green)}.manager-shopping-info{display:grid;gap:3px;min-width:0}.manager-shopping-info strong,.manager-ingredient-row strong{font-size:12px;overflow-wrap:anywhere}.manager-shopping-info small,.manager-ingredient-row small{color:var(--muted);font-size:10px;line-height:1.35;overflow-wrap:anywhere}.manager-product-details{padding:5px 4px 0;border-top:1px solid var(--line)}.manager-product-details summary{padding:4px 0;color:var(--green);font-size:11px;font-weight:700;cursor:pointer}.manager-ingredient-list{display:grid;gap:4px;padding-top:5px}.manager-ingredient-row{display:grid!important;grid-template-columns:24px minmax(0,1fr);align-items:center;gap:8px!important;padding:6px 7px;border-radius:9px;background:#f7f7f1;font-weight:500!important}.bulk-merge-form[aria-busy="true"] .bulk-merge-actions .button-primary{opacity:.75;cursor:wait}

.day-card .duration-select{min-width:78px;padding-right:27px;padding-left:5px;text-align:left;font-size:12px;background-position:right 7px center}
.manager-filter{min-height:42px;font-size:16px!important}
.manager-bulk-tools{border-top:1px solid var(--line);padding-top:7px}
.manager-bulk-tools>summary{color:var(--green);font-size:11px;font-weight:750;cursor:pointer;list-style-position:inside}
.manager-bulk-tools[open] .manager-actions{padding-top:8px}
.linked-product-edit{justify-self:start;min-height:38px}
@media(max-width:360px){.day-card{grid-template-columns:36px minmax(0,1fr) 78px 25px}.day-card .duration-select{min-width:78px;padding-right:25px;font-size:11px}}
/* Dialoge ze stylem flex muszą być ukryte, dopóki showModal() ich nie otworzy. */
.dialog:not([open]){display:none}
.clear-plan-button{display:block;margin:14px 0 0 auto}
.ambiguous-shopping-list{display:grid;gap:8px;max-height:42dvh;overflow:auto}
.ambiguous-shopping-item{align-items:start!important;padding:9px;border:1px solid var(--line);border-radius:11px;background:#fff}
.ambiguous-shopping-item span{display:grid;gap:3px;min-width:0}
.ambiguous-shopping-item strong{font-size:12px;overflow-wrap:anywhere}
.ambiguous-shopping-item small{color:var(--muted);font-size:10px;line-height:1.4;overflow-wrap:anywhere}
#ambiguous-shopping-dialog{max-height:min(86dvh,780px);overflow:hidden}
#ambiguous-shopping-form{min-height:0;max-height:inherit;overflow:auto;padding-bottom:max(14px,env(safe-area-inset-bottom))}

.additional-meals-section{margin-top:12px;padding:12px;border:1px solid var(--line);border-radius:15px;background:var(--paper)}
.additional-meals-head{display:flex;align-items:center;justify-content:space-between;gap:9px}
.additional-meals-head h3{margin:0 0 3px;font-size:13px}
.additional-meals-head .muted{font-size:10px}
.weekly-extra-list{display:grid;gap:5px;margin:9px 0 0;padding:0;list-style:none}
.weekly-extra-item{display:flex;align-items:center;justify-content:space-between;gap:8px;min-width:0;padding:7px 8px;border-radius:9px;background:#f1f3eb;font-size:11px}
.weekly-extra-item span{min-width:0;overflow-wrap:anywhere}
.weekly-extra-item button{flex:none;min-height:30px;padding:0 8px;border:1px solid var(--line);border-radius:8px;background:white;color:#984d3d;font-size:10px;font-weight:700}
.weekly-extra-empty{padding:4px 2px;color:var(--muted);font-size:10px}
.weekly-meal-block{margin-top:10px;padding-top:9px;border-top:1px solid var(--line)}
.weekly-meal-block-head{display:flex;align-items:center;justify-content:space-between;gap:8px}
.weekly-meal-block-head h4{margin:0;color:var(--green);font-size:11px}
.weekly-meal-block-head .small-button{min-height:34px;padding:0 9px;font-size:10px}
.picker-outside-meal{border:1px solid #b29a55!important;background:#fff8e7!important}
.picker-divider{display:flex;align-items:center;gap:9px;padding:8px 2px;color:var(--muted);font-size:10px;font-weight:750;text-transform:uppercase;letter-spacing:.05em}
.picker-divider:before,.picker-divider:after{content:"";height:1px;flex:1;background:var(--line)}
.recipe-filter-label{display:grid;gap:5px;margin:12px 0;color:var(--muted);font-size:11px;font-weight:650}
.recipe-tag-fieldset{display:grid;gap:7px;min-width:0;margin:0;padding:9px;border:1px solid var(--line);border-radius:11px}
.recipe-tag-fieldset legend{padding:0 4px;color:var(--green);font-size:11px;font-weight:700}
.recipe-tag-options{display:flex;flex-wrap:wrap;gap:6px}
.recipe-tag-options label{display:inline-flex;align-items:center;gap:5px;padding:6px 8px;border-radius:9px;background:#f1f3eb;font-size:10px!important;font-weight:600!important}
.recipe-tag-options input{width:16px!important;min-height:16px!important;height:16px;margin:0;accent-color:var(--green)}
.recipe-tags{display:flex;flex-wrap:wrap;gap:4px;margin-top:4px}
.recipe-tags span{padding:3px 6px;border-radius:7px;background:var(--mint);color:var(--green);font-size:9px;font-weight:650}
.additional-meals-dialog{overflow:hidden}
.additional-meals-dialog .form-stack{min-height:0;max-height:min(88dvh,760px)}
.additional-meals-dialog .form-stack>.dialog-head{flex:none}
.additional-meals-dialog .field-help{flex:none}
.additional-meals-picker-list{display:grid;gap:6px;min-height:0;max-height:56dvh;overflow:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}
.weekly-extra-choice{display:grid!important;grid-template-columns:22px minmax(0,1fr);align-items:center;gap:8px!important;padding:8px;border:1px solid var(--line);border-radius:10px;background:#fff}
.weekly-extra-choice input{width:20px!important;min-height:20px!important;height:20px;margin:0;accent-color:var(--green)}
.weekly-extra-choice span{display:grid;gap:2px;min-width:0}
.weekly-extra-choice strong{font-size:11px;overflow-wrap:anywhere}
.weekly-extra-choice small{color:var(--muted);font-size:9px}
.day-additions{grid-column:2/4;display:flex;align-items:center;justify-content:space-between;gap:6px;min-width:0;margin-top:-2px;color:var(--muted);font-size:9px}
.day-additions span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.day-additions button{flex:none;min-height:30px;padding:0 8px;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--green);font-size:10px;font-weight:700}
.day-card .clear-day,.day-card .clear-spacer{grid-column:4;grid-row:1}
.day-card .cooking-note{grid-row:2}
@media(max-width:599px){.additional-meals-dialog{width:calc(100% - 16px);max-height:calc(100dvh - env(safe-area-inset-top) - env(safe-area-inset-bottom) - 16px)}.additional-meals-dialog .form-stack{max-height:calc(100dvh - env(safe-area-inset-top) - env(safe-area-inset-bottom) - 24px);padding:12px}.additional-meals-dialog .form-stack>.dialog-head{margin:-12px -12px 0;padding:max(10px,env(safe-area-inset-top)) 12px 10px}.additional-meals-picker-list{max-height:50dvh}.additional-meals-head{align-items:flex-start}.additional-meals-head .small-button,.weekly-meal-block-head .small-button{white-space:normal;min-height:38px}}
