:root{--ink:#26312d;--muted:#6f7d79;--paper:#f7faf7;--card:#fff;--brand:#7f9870;--brand2:#9eb4ca;--accent:#dce8dc;--line:#dce6e2;--green:#617c66;--blue:#dce9f3;--shadow:0 12px 34px rgba(66,91,80,.12);--radius:22px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;background:linear-gradient(180deg,#e4eee3 0,#eef5fa 330px,#f7faf7 620px);color:var(--ink)}button,input,select{font:inherit}.app{max-width:780px;margin:auto;min-height:100vh;padding-bottom:104px}.hero{padding:30px 18px 18px}.hero-card{position:relative;overflow:hidden;background:linear-gradient(135deg,#718b68,#9bb1c5);color:white;border-radius:28px;padding:25px;box-shadow:var(--shadow)}.hero-card:after{content:"";position:absolute;width:180px;height:180px;border-radius:50%;right:-58px;top:-72px;background:rgba(255,255,255,.12)}.eyebrow{font-size:12px;font-weight:850;letter-spacing:.12em;text-transform:uppercase;opacity:.82}h1{font-family:Georgia,serif;font-size:42px;line-height:1.02;margin:8px 0}.hero p{font-size:16px;margin:0;max-width:470px;opacity:.92}.copyright-mini{font-size:11px;margin-top:17px;opacity:.7}.content{padding:0 15px}.panel{background:rgba(255,255,255,.92);border:1px solid var(--line);border-radius:var(--radius);padding:17px;box-shadow:var(--shadow);margin-bottom:15px}.panel h2{margin:0 0 12px;font-size:22px}.decision-buttons{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px;margin-bottom:15px}.surprise{display:grid;grid-template-columns:1fr;gap:10px;align-content:space-between;text-align:left;margin:0;min-height:164px;background:linear-gradient(135deg,#edf4e9,#dce8d8);border:1px solid #cbdcc6}.surprise.random{background:linear-gradient(135deg,#edf5fb,#d9e7f2)}.surprise h2{font-family:Georgia,serif;font-size:23px;line-height:1.05;margin-bottom:6px}.surprise p{margin:0;color:var(--muted);font-size:13px}.dice{border:0;width:54px;height:54px;border-radius:17px;background:var(--brand);color:white;font-size:27px;box-shadow:0 9px 20px rgba(88,112,78,.25);display:flex;align-items:center;justify-content:center}.surprise.random .dice{background:var(--green)}.quick-cats{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.quick-cat{position:relative;overflow:hidden;border:1px solid var(--line);background:#fff;border-radius:18px;padding:0;text-align:left;min-height:116px;box-shadow:0 5px 15px rgba(66,91,80,.10);isolation:isolate}.quick-cat img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;transition:transform .25s ease}.quick-cat:after{content:"";position:absolute;inset:38% 0 0;background:linear-gradient(180deg,transparent,rgba(23,38,32,.82));z-index:1}.quick-cat strong{position:absolute;left:12px;right:10px;bottom:11px;display:block;font-size:15px;color:#fff;text-shadow:0 1px 3px rgba(0,0,0,.45);z-index:2}.quick-cat:hover img,.quick-cat:focus-visible img{transform:scale(1.045)}.quick-cat.active{border-color:#526c59;box-shadow:0 0 0 3px rgba(127,152,112,.30),0 7px 18px rgba(66,91,80,.15)}.quick-cat.active:before{content:"✓";position:absolute;right:9px;top:9px;z-index:3;width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.94);color:var(--green);font-weight:900;box-shadow:0 2px 8px rgba(0,0,0,.18)}.chips{display:flex;gap:8px;overflow:auto;padding-bottom:4px}.chip{border:1px solid var(--line);background:#fff;border-radius:999px;padding:9px 13px;white-space:nowrap;color:var(--ink)}.chip.active{background:var(--brand);color:#fff;border-color:var(--brand)}.search-row{display:grid;grid-template-columns:1fr auto;gap:8px}.search{width:100%;border:1px solid var(--line);border-radius:14px;padding:14px;background:#fff;outline:none}.search:focus{border-color:var(--brand2);box-shadow:0 0 0 3px rgba(191,112,91,.14)}.search-button{border:0;border-radius:14px;padding:0 17px;background:var(--brand);color:#fff;font-weight:800}.grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.card{position:relative;text-align:left;background:#fff;border:1px solid var(--line);border-radius:19px;overflow:hidden;min-height:188px;box-shadow:0 5px 15px rgba(66,91,80,.07)}.food-art{height:92px;display:flex;align-items:center;justify-content:center;font-size:43px;background:linear-gradient(145deg,#dce8dc,#dce9f3);position:relative}.food-art:after{content:"";position:absolute;inset:12px 30%;border-radius:50%;background:rgba(255,255,255,.34)}.food-art span{position:relative;z-index:1}.food-art img{width:100%;height:100%;object-fit:cover;display:block}.detail-art{overflow:hidden}.detail-art img{width:100%;height:100%;object-fit:cover;display:block}.card-body{padding:13px}.card h3{font-size:16px;margin:0 27px 5px 0}.meta{color:var(--muted);font-size:12px}.fav{position:absolute;right:9px;top:101px;border:0;background:#f0f6ef;border-radius:50%;width:34px;height:34px;font-size:20px;color:var(--brand);z-index:2}.primary{width:100%;border:0;border-radius:14px;padding:14px;background:var(--brand);color:#fff;font-weight:800}.secondary{border:1px solid var(--line);border-radius:12px;padding:10px 12px;background:#fff;color:var(--ink)}.danger-button{border-color:#e7bbb4;color:#9f382d}.empty{text-align:center;color:var(--muted);padding:26px 12px}.bottom{position:fixed;left:0;right:0;bottom:0;background:rgba(247,250,247,.96);backdrop-filter:blur(10px);border-top:1px solid var(--line);display:flex;justify-content:center;z-index:20;padding-bottom:env(safe-area-inset-bottom)}.nav{max-width:780px;width:100%;display:grid;grid-template-columns:repeat(4,1fr)}.nav button{border:0;background:none;padding:11px 4px 9px;color:var(--muted);font-size:11px;font-weight:750}.nav button span{display:block;font-size:21px;margin-bottom:2px}.nav button.active{color:var(--brand)}.screen{display:none}.screen.active{display:block}.modal{position:fixed;inset:0;background:rgba(30,20,15,.48);display:none;align-items:flex-end;z-index:50}.modal.open{display:flex}.sheet{background:var(--paper);width:100%;max-width:780px;margin:auto;border-radius:25px 25px 0 0;max-height:93vh;overflow:auto;padding:17px 17px 38px}.handle{width:45px;height:5px;border-radius:5px;background:#d1c2b8;margin:0 auto 15px}.close{float:right;border:0;background:#e5eeea;border-radius:50%;width:38px;height:38px;font-size:20px}.detail-art{height:170px;border-radius:20px;display:flex;align-items:center;justify-content:center;font-size:74px;background:linear-gradient(145deg,#dce8dc,#dce9f3);margin-bottom:15px}.sheet h2{font-family:Georgia,serif;font-size:30px;margin:5px 45px 8px 0}.tag{display:inline-block;background:#e4eee2;color:var(--brand);border-radius:99px;padding:6px 10px;font-size:12px;font-weight:800;margin:0 5px 5px 0}.section-title{margin:24px 0 10px}.checkrow{display:flex;gap:10px;align-items:flex-start;padding:10px 0;border-bottom:1px solid var(--line)}.checkrow input{margin-top:4px;transform:scale(1.22)}ol{padding-left:24px}li{margin:0 0 12px;line-height:1.48}.shopping-item{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:center;padding:12px 4px;border-bottom:1px solid var(--line);animation:fadeIn .2s ease}.shopping-item button{border:0;background:#edf4ed;color:var(--brand);width:38px;height:38px;border-radius:50%;font-size:19px}.toolbar{display:flex;gap:8px;margin-bottom:12px}.toolbar button{flex:1}.idea{padding:13px 0;border-bottom:1px solid var(--line)}.idea strong{display:block}.idea small{color:var(--muted)}.count{font-size:13px;color:var(--muted);margin:-4px 0 9px}.choice-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:9px;margin:10px 0 18px}.choice{border:1px solid var(--line);border-radius:15px;background:#fff;padding:13px 10px;text-align:left}.choice.active{background:var(--brand);color:#fff;border-color:var(--brand)}.result-card{text-align:center;padding:8px 0 3px}.result-emoji{font-size:68px}.result-card h2{margin:6px 0}.spin{animation:spin .55s ease}.toast{position:fixed;left:50%;bottom:92px;transform:translateX(-50%);background:#2f2723;color:white;border-radius:999px;padding:10px 15px;font-size:13px;opacity:0;pointer-events:none;transition:.2s;z-index:80}.toast.show{opacity:1}.about-copy{line-height:1.55;color:var(--muted)}footer{text-align:center;font-size:12px;color:var(--muted);padding:12px 15px 0}@keyframes spin{0%{transform:rotate(-4deg) scale(.93);opacity:.45}55%{transform:rotate(4deg) scale(1.04)}100%{transform:none;opacity:1}}@keyframes fadeIn{from{opacity:0;transform:translateY(3px)}to{opacity:1;transform:none}}@media(min-width:600px){.quick-cats{grid-template-columns:repeat(4,1fr)}.grid{grid-template-columns:repeat(3,1fr)}.hero{padding-top:42px}.sheet{border-radius:25px;margin-bottom:18px}.modal{align-items:center}.choice-grid{grid-template-columns:repeat(3,1fr)}}

/* Tick-off method steps */
.method-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:22px}.method-heading .section-title{margin:0}.method-reset{border:0;background:var(--pale-blue,#dceaf3);color:var(--ink,#31423b);padding:8px 11px;border-radius:999px;font-weight:700;cursor:pointer}.method-list{display:grid;gap:10px;margin-top:12px}.method-step{display:grid;grid-template-columns:24px 30px 1fr;align-items:start;gap:9px;padding:12px;border:1px solid rgba(82,104,91,.18);border-radius:14px;background:#fff;cursor:pointer;transition:.18s ease}.method-step input{width:20px;height:20px;margin:2px 0 0;accent-color:var(--brand)}.method-number{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:var(--pale-blue,#dceaf3);font-weight:800;color:var(--brand)}.method-text{line-height:1.48;transition:.18s ease}.method-step.done{background:#f1f3f2;border-color:#d7ddda}.method-step.done .method-text{color:#8b918e;text-decoration:line-through}.method-step.done .method-number{background:#dfe5e2;color:#89918d}

.photo-fallback{width:100%;height:100%;min-height:180px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;background:linear-gradient(135deg,#dceaf2,#e7efe2);color:#526454}.photo-fallback span{font-size:38px}.photo-fallback strong{font-size:14px}

.version-card{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:18px 0}.version-card>div{background:linear-gradient(145deg,#edf4e9,#e4eff7);border:1px solid var(--line);border-radius:14px;padding:12px}.version-card span{display:block;font-size:11px;color:var(--muted);margin-bottom:5px}.version-card strong{display:block;font-size:14px;color:var(--ink)}#versionTap{cursor:pointer;user-select:none}.small-note{font-size:12px}.developer-preview{background:#eef5eb;border:1px solid #cbdcc6;border-radius:15px;padding:14px;margin-top:14px}.developer-preview h3{margin:0 0 6px}.developer-preview p{margin:0}.quick-cat img{object-position:center}@media(max-width:470px){.version-card{grid-template-columns:1fr}}


/* Version 1.1: recipe-specific tips and substitutions */
.tips-panel{margin-top:16px;border:1px solid #cfded5;border-radius:16px;background:linear-gradient(135deg,#f5faf4,#eef6fb);overflow:hidden}.tips-panel summary{display:flex;align-items:center;gap:9px;padding:14px 15px;cursor:pointer;font-weight:850;color:var(--green);list-style:none}.tips-panel summary::-webkit-details-marker{display:none}.tips-panel summary:after{content:'+';margin-left:auto;font-size:22px;line-height:1}.tips-panel[open] summary:after{content:'−'}.tips-content{padding:0 15px 15px;color:var(--ink)}.tips-content h4{margin:10px 0 7px;font-size:14px;color:var(--green)}.tips-content ul{margin:0 0 12px;padding-left:20px}.tips-content li{margin-bottom:6px}.substitution-card{background:#fff;border:1px solid var(--line);border-radius:13px;padding:12px;margin-top:9px}.substitution-card strong{color:var(--ink)}.substitution-card p{margin:8px 0 0;color:var(--muted);font-size:13px;line-height:1.45}


/* Version 1.2: step ingredient pop-ups and clearer method controls */
.method-step{grid-template-columns:24px 30px minmax(0,1fr) auto;cursor:default}
.method-text{display:block;cursor:help;touch-action:pan-y;user-select:none}
.step-info-button{align-self:center;border:0;border-radius:999px;padding:7px 9px;background:#e9f1e6;color:var(--brand);font-size:11px;font-weight:800;cursor:pointer}
.method-step.done .step-info-button{opacity:.62}
.step-ingredient-popup{position:fixed;inset:0;display:none;align-items:flex-end;justify-content:center;padding:16px;background:rgba(25,31,28,.52);z-index:95}.step-ingredient-popup.open{display:flex}.step-popup-card{position:relative;width:min(520px,100%);max-height:78vh;overflow:auto;background:var(--paper);border-radius:22px;padding:22px 17px 18px;box-shadow:0 18px 50px rgba(0,0,0,.25)}.step-popup-close{position:absolute;right:12px;top:11px;border:0;width:36px;height:36px;border-radius:50%;background:#e5eeea;color:var(--ink);font-size:22px}.step-popup-kicker{margin:0;color:var(--brand);font-size:12px;font-weight:850;text-transform:uppercase;letter-spacing:.08em}.step-popup-card h3{margin:5px 42px 8px 0;font-family:Georgia,serif;font-size:24px}.step-popup-instruction{margin:0 0 15px;padding:11px 12px;border-radius:13px;background:#edf4eb;line-height:1.45}.step-popup-list{display:grid;gap:8px}.step-popup-list button{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;border:1px solid var(--line);border-radius:13px;padding:12px;text-align:left;background:#fff;color:var(--ink)}.step-popup-list button small{color:var(--brand);font-weight:750}.step-popup-list button.added{background:#eef5eb}.step-popup-empty{color:var(--muted);margin:8px 0}.wake-note{display:flex;gap:8px;align-items:flex-start;padding:11px 12px;border-radius:13px;background:#edf4eb;color:var(--ink)}
@media(max-width:470px){.method-step{grid-template-columns:22px 28px minmax(0,1fr)}.step-info-button{grid-column:3;justify-self:start;margin-top:5px}}


/* Version 1.3: linked photographic filters and timed method steps */
.filter-panel h2{margin-bottom:5px}.photo-filter-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;margin-top:12px}.photo-filter{position:relative;overflow:hidden;min-width:0;border:2px solid transparent;border-radius:15px;background:#fff;padding:0;text-align:left;box-shadow:0 4px 12px rgba(66,91,80,.08);cursor:pointer}.photo-filter img{display:block;width:100%;height:76px;object-fit:cover}.photo-filter strong{display:block;padding:8px 7px;font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.photo-filter.active{border-color:var(--brand);box-shadow:0 0 0 3px rgba(76,112,87,.15)}.photo-filter.active:after{content:'✓';position:absolute;right:7px;top:7px;display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:var(--brand);color:#fff;font-weight:900}.filter-summary{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:13px;padding-top:11px;border-top:1px solid var(--line);font-size:12px;color:var(--muted)}.filter-summary button{border:0;border-radius:999px;padding:7px 10px;background:#e8f0e5;color:var(--brand);font-weight:800}.timer-button{background:#e4edf7;color:#315873}.timer-button.running{background:#315873;color:#fff;min-width:88px}.timer-button.finished{background:#dcebd8;color:#315b3d}@media(max-width:520px){.photo-filter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.photo-filter img{height:92px}.photo-filter strong{font-size:13px}.filter-summary{align-items:flex-start}.method-step .timer-button{grid-column:3;justify-self:start;margin-top:5px}}


/* Version 1.5: persistent cooking alarm and corrected accompaniment filters */
.timer-alarm{position:fixed;inset:0;z-index:140;display:none;align-items:center;justify-content:center;padding:18px;background:rgba(25,31,28,.72);backdrop-filter:blur(5px)}
.timer-alarm.open{display:flex;animation:alarmBackdrop 1s ease-in-out infinite alternate}
.timer-alarm-card{width:min(520px,100%);border-radius:26px;padding:25px 20px 22px;text-align:center;background:var(--paper);box-shadow:0 24px 80px rgba(0,0,0,.36);border:4px solid #e1a83f}
.timer-alarm-icon{font-size:58px;animation:alarmBell .7s ease-in-out infinite alternate}.timer-alarm-kicker{margin:4px 0 5px;color:#9a6515;font-weight:900;text-transform:uppercase;letter-spacing:.1em;font-size:12px}.timer-alarm-card h2{margin:0;font-family:Georgia,serif;font-size:30px;color:var(--green)}.timer-alarm-step{font-weight:850;color:var(--muted);margin:8px 0}.timer-alarm-instruction{margin:15px 0 19px;padding:18px;border-radius:17px;background:#edf4eb;font-size:22px;font-weight:800;line-height:1.35;color:var(--ink)}.timer-dismiss{width:100%;font-size:18px;padding:14px}.photo-filter img[src$="bread.jpg"],.photo-filter img[src$="salad.jpg"],.photo-filter img[src$="vegetables.jpg"]{object-position:center}
@keyframes alarmBell{from{transform:rotate(-8deg) scale(1)}to{transform:rotate(8deg) scale(1.07)}}@keyframes alarmBackdrop{from{background:rgba(25,31,28,.68)}to{background:rgba(119,83,21,.76)}}


/* Version 1.6: Heather's Kitchen recipe editor */
.editor-shell{padding-bottom:24px}.editor-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.editor-header h2{font-family:Georgia,serif;font-size:29px;margin:0 0 5px}.editor-actions{display:flex;flex-wrap:wrap;gap:8px}.editor-actions button,.editor-file-label{border:1px solid var(--line);border-radius:12px;padding:10px 12px;background:#fff;color:var(--ink);font-weight:750;cursor:pointer}.editor-file-label input{display:none}.editor-danger{color:#9f382d!important;border-color:#e7bbb4!important}.editor-layout{display:grid;grid-template-columns:minmax(190px, .7fr) minmax(0,1.5fr);gap:14px}.editor-list{max-height:70vh;overflow:auto}.editor-search{margin-bottom:10px}.editor-recipe-button{display:block;width:100%;border:0;border-bottom:1px solid var(--line);padding:12px 9px;background:transparent;text-align:left;color:var(--ink)}.editor-recipe-button.active{background:#eaf2e7;border-radius:11px;color:var(--green);font-weight:850}.editor-form label{display:block;font-size:12px;font-weight:800;color:var(--muted);margin:12px 0 5px}.editor-form input,.editor-form textarea,.editor-form select{width:100%;border:1px solid var(--line);border-radius:12px;padding:11px;background:#fff;color:var(--ink)}.editor-form textarea{min-height:84px;resize:vertical;line-height:1.45}.editor-two{display:grid;grid-template-columns:1fr 1fr;gap:10px}.editor-section-title{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:20px 0 8px}.editor-section-title h3{margin:0}.editor-row{border:1px solid var(--line);background:#fff;border-radius:14px;padding:11px;margin-bottom:9px}.editor-row-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:7px}.editor-row-head strong{font-size:13px}.editor-mini-actions{display:flex;gap:5px}.editor-mini-actions button{border:1px solid var(--line);background:#f8faf8;border-radius:9px;padding:6px 8px}.editor-ingredient-grid{display:grid;grid-template-columns:1.2fr .65fr .55fr;gap:7px}.editor-savebar{position:sticky;bottom:78px;display:flex;gap:8px;padding:10px;margin-top:15px;background:rgba(247,250,247,.95);border:1px solid var(--line);border-radius:15px;backdrop-filter:blur(8px)}.editor-savebar .primary{flex:1}.editor-note{padding:11px 12px;border-radius:12px;background:#edf4eb;color:var(--muted);font-size:12px;line-height:1.45}.editor-empty{padding:30px;text-align:center;color:var(--muted)}
@media(max-width:650px){.editor-layout{grid-template-columns:1fr}.editor-list{max-height:240px}.editor-two,.editor-ingredient-grid{grid-template-columns:1fr}.editor-savebar{bottom:76px}}

.editor-ingredient-grid-v2{display:grid;grid-template-columns:.7fr .8fr 1.25fr 1fr;gap:8px;align-items:start}.editor-ingredient-grid-v2 label{margin:0 0 4px}.editor-custom{margin-top:6px}.hidden{display:none!important}.editor-timer-row{display:flex;align-items:end;gap:14px;margin-top:9px;padding-top:9px;border-top:1px dashed var(--line)}.editor-timer-row .timer-check{display:flex;align-items:center;gap:7px;margin:0;font-size:13px}.editor-timer-row .timer-check input{width:auto}.timer-minutes{max-width:130px}.timer-minutes label{margin:0 0 4px}.about-copy h3{font-family:Georgia,serif;font-size:24px;margin:0 0 10px;color:var(--brand)}@media(max-width:760px){.editor-ingredient-grid-v2{grid-template-columns:1fr 1fr}}@media(max-width:430px){.editor-ingredient-grid-v2{grid-template-columns:1fr}}


/* v1.9 desktop spreadsheet editor */
.editor-layout{grid-template-columns:220px minmax(860px,1fr);align-items:start}.editor-workspace{overflow-x:auto}.editor-sidebar{position:sticky;top:12px}.editor-form input,.editor-form textarea,.editor-form select{border-radius:7px}.ingredient-sheet,.method-sheet{min-width:850px;border:1px solid var(--line);border-radius:10px;overflow:hidden;background:#fff}.ingredient-sheet-head,.ingredient-sheet-row{display:grid;grid-template-columns:38px 90px 115px minmax(190px,1.35fr) minmax(180px,1.15fr) 96px;align-items:stretch}.ingredient-sheet-head,.method-sheet-head{background:#eef3ec;font-size:12px;font-weight:850;color:var(--muted);border-bottom:1px solid var(--line)}.ingredient-sheet-head span,.method-sheet-head span{padding:9px 7px}.ingredient-sheet-row{border-bottom:1px solid var(--line)}.ingredient-sheet-row:last-child{border-bottom:0}.ingredient-sheet-row>input,.ingredient-sheet-row>div>select,.ingredient-sheet-row>div>input{height:100%;min-height:40px;border:0!important;border-right:1px solid var(--line)!important;border-radius:0!important;padding:8px!important}.ingredient-sheet-row>div{min-width:0}.ingredient-sheet-row .editor-custom{border-top:1px dashed var(--line)!important;height:auto}.sheet-number{display:flex;align-items:center;justify-content:center;background:#fafbf9;color:var(--muted);font-weight:800;border-right:1px solid var(--line)}.sheet-actions{display:flex!important;align-items:center;justify-content:center;gap:3px;padding:4px;border-left:0}.sheet-actions button,.note-sheet-row>button{border:1px solid var(--line);background:#f8faf8;border-radius:6px;padding:5px 7px;cursor:pointer}.editor-add-row{width:100%;margin-top:7px;padding:10px;border:1px dashed #a9b9a2;background:#f5f8f3;color:var(--green);border-radius:8px;font-weight:850;cursor:pointer}.method-sheet-head,.method-sheet-row{display:grid;grid-template-columns:38px minmax(520px,1fr) 135px 96px}.method-sheet-row{border-bottom:1px solid var(--line);align-items:stretch}.method-sheet-row:last-child{border-bottom:0}.method-sheet-row textarea{border:0!important;border-right:1px solid var(--line)!important;border-radius:0!important;min-height:74px!important;padding:9px!important}.sheet-timer{padding:8px;border-right:1px solid var(--line);display:grid;grid-template-columns:auto 55px;gap:4px;align-content:center}.sheet-timer label{grid-column:1/-1;display:flex!important;align-items:center;gap:5px;margin:0!important}.sheet-timer label input{width:auto!important}.sheet-timer>input{padding:5px!important}.sheet-timer small{align-self:center}.note-sheet-row{display:grid;grid-template-columns:38px 1fr 45px;border:1px solid var(--line);border-radius:8px;overflow:hidden;margin-bottom:6px}.note-sheet-row textarea{border:0!important;border-radius:0!important;min-height:58px!important}.note-sheet-row>button{margin:6px}.editor-section-title{margin-top:26px}.editor-savebar{bottom:12px}.methods-search{margin:10px 0 14px}.methods-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:10px}.method-card{display:grid;grid-template-columns:32px 1fr;text-align:left;gap:3px 8px;align-items:center;border:1px solid var(--line);border-radius:13px;padding:12px;background:#fff;cursor:pointer;color:var(--ink)}.method-card:hover{background:#f3f7f1;border-color:#b7c8b0}.method-card>span{grid-row:1/3;font-size:22px}.method-card strong{font-size:15px}.method-card small{color:var(--muted);line-height:1.25}.method-word{display:inline;border:0;border-bottom:2px dotted var(--brand);padding:0 1px;background:transparent;color:inherit;font:inherit;font-weight:750;cursor:pointer}.method-word:hover{color:var(--brand);background:#fff5ee}.method-help-sheet{max-width:620px!important}.method-help-icon{font-size:34px;margin-bottom:5px}.method-help-block{border-top:1px solid var(--line);padding:13px 0 2px}.method-help-block strong,.method-result strong{color:var(--green)}.method-help-block p,.method-result p{margin:5px 0 10px;line-height:1.5}.method-result{background:#f0f5ed;border-radius:12px;padding:13px;margin-top:10px}.method-result p{margin-bottom:0}.nav{grid-template-columns:repeat(5,1fr)!important}
@media(max-width:900px){.editor-layout{grid-template-columns:190px minmax(760px,1fr)}}

/* v1.10 desktop builder */
.method-sheet,.ingredient-sheet{min-width:980px}
.method-sheet-head,.method-sheet-row{grid-template-columns:38px minmax(480px,1fr) 300px 96px}
.sheet-timer.named-timer{display:block;padding:8px}
.sheet-timer.named-timer>label{display:flex!important;align-items:center;gap:6px;margin:0 0 6px!important}
.timer-fields{display:grid;grid-template-columns:72px 1fr 1.3fr;gap:6px}
.timer-fields label{display:block!important;margin:0!important;font-size:10px;color:var(--muted)}
.timer-fields input{margin-top:3px;padding:6px!important;min-height:34px}
.prep-sheet-row{display:grid;grid-template-columns:38px 1fr 96px;border:1px solid var(--line);border-radius:8px;overflow:hidden;margin-bottom:6px;background:#fff}
.prep-sheet-row textarea{border:0!important;border-radius:0!important;min-height:58px!important}
.prep-sheet-row .sheet-actions{border-left:1px solid var(--line)}

/* v1.11 scaling setup */
.scaling-setup{margin-top:14px}.scaling-sheet .ingredient-sheet-head,.scaling-sheet .ingredient-sheet-row{grid-template-columns:42px 74px 90px 115px minmax(180px,1.25fr) minmax(170px,1fr) 130px 108px}.main-radio{display:flex;align-items:center;gap:5px;font-size:12px;white-space:nowrap}.main-radio input{width:auto}.scaling-sheet select[data-scale-mode]{min-width:120px}

/* v1.11.3 builder wide-layout hard fix */
body .app{max-width:1500px;width:100%;padding-left:14px;padding-right:14px}
body .content{padding-left:0;padding-right:0}
body .editor-layout{grid-template-columns:220px minmax(0,1fr);width:100%;max-width:none}
body .editor-workspace{min-width:0;overflow-x:auto}
body .ingredient-sheet.scaling-sheet{width:100%;min-width:1120px}
body .scaling-sheet .ingredient-sheet-head,
body .scaling-sheet .ingredient-sheet-row{grid-template-columns:42px 78px 96px 112px minmax(210px,1.25fr) minmax(190px,1fr) 140px 118px}
body .scaling-sheet .ingredient-sheet-head>span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
body .scaling-sheet .ingredient-sheet-row>*{min-width:0}
body .scaling-sheet .sheet-actions{position:static;display:flex!important;flex-wrap:nowrap;white-space:nowrap;overflow:visible}
body .scaling-sheet .sheet-actions button{flex:0 0 auto}
body .scaling-sheet select[data-scale-mode]{width:100%;min-width:0;border-radius:0!important;border:0!important;border-right:1px solid var(--line)!important;padding:8px!important}
@media(max-width:900px){body .app{min-width:1180px}body .editor-layout{grid-template-columns:190px minmax(0,1fr)}}

/* v1.12.0: multiple 'Works with' choices and one timer-end message */
.works-with-block{margin-top:14px;padding:12px 14px;border:1px solid var(--line);border-radius:12px;background:#f8faf7}
.works-with-block>label{margin-top:0!important}
.works-with-options{display:flex;flex-wrap:wrap;gap:8px;margin-top:9px}
.works-with-option{display:inline-flex!important;align-items:center;gap:6px;margin:0!important;padding:8px 10px;border:1px solid var(--line);border-radius:999px;background:#fff;color:var(--ink)!important;font-size:12px!important;cursor:pointer}
.works-with-option input{width:auto!important;margin:0}
.timer-fields.single-message{grid-template-columns:78px minmax(160px,1fr)}

/* v1.12.1 restore step ingredient assignment */
.step-ingredients-fieldset{margin:10px 0 0;padding:10px;border:1px solid var(--line);border-radius:12px;background:#f8faf8}.step-ingredients-fieldset legend{padding:0 6px;font-size:13px;font-weight:850;color:var(--green)}.step-ingredients-fieldset .meta{margin:0 0 8px}.step-ingredient-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.step-ingredient-choice{display:flex!important;align-items:center;gap:8px;margin:0!important;padding:7px 8px;border:1px solid var(--line);border-radius:9px;background:#fff;color:var(--ink)!important;font-size:13px!important}.step-ingredient-choice input{width:auto!important;margin:0}@media(max-width:700px){.step-ingredient-grid{grid-template-columns:1fr}}

/* v1.14.3 — category-based Builder navigation */
.editor-sidebar{
  align-self:start;
  position:sticky;
  top:14px;
  max-height:calc(100vh - 28px);
  overflow:auto;
}
.editor-category-nav{
  display:grid;
  gap:6px;
  margin:12px 0 14px;
}
.editor-category-button{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
  width:100%;
  border:1px solid #ddd8d0;
  border-radius:12px;
  padding:9px 11px;
  background:#fff;
  color:var(--ink);
  font-weight:700;
  text-align:left;
  cursor:pointer;
}
.editor-category-button small{
  min-width:24px;
  padding:2px 6px;
  border-radius:999px;
  background:#f0eee9;
  text-align:center;
  font-size:11px;
}
.editor-category-button.active{
  border-color:var(--brand);
  background:#f4f8f0;
  color:var(--brand);
}
.editor-category-button.active small{
  background:#fff;
}
.editor-guide-nav{
  margin:0 0 13px;
}
.editor-guide-title{
  margin:4px 2px 7px;
  font-size:12px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.04em;
  color:var(--muted);
}
.editor-guide-buttons{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
}
.editor-guide-buttons button{
  border:1px solid #ddd8d0;
  border-radius:999px;
  background:#fff;
  padding:6px 9px;
  font-size:12px;
  cursor:pointer;
}
.editor-guide-buttons button.active{
  border-color:var(--brand);
  background:#f4f8f0;
  color:var(--brand);
  font-weight:800;
}
.editor-list-heading{
  display:flex;
  justify-content:space-between;
  align-items:baseline;
  gap:8px;
  margin:10px 2px 7px;
}
.editor-list-heading small{
  color:var(--muted);
}
.editor-list{
  max-height:none !important;
  overflow:visible !important;
}
@media(max-width:800px){
  .editor-sidebar{
    position:static;
    max-height:none;
    overflow:visible;
  }
  .editor-category-nav{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}


/* v1.14.6 — intolerance / allergen capture */
.intolerance-block{margin:14px 0;padding:15px 16px;border:1px solid var(--line);border-radius:14px;background:#fffaf2;box-shadow:inset 4px 0 0 #d6a34a}
.intolerance-block.is-reviewed{background:#f7fbf5;box-shadow:inset 4px 0 0 var(--brand)}
.intolerance-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}
.intolerance-head>div{min-width:0}.intolerance-head>div>label{font-weight:800}
.intolerance-review-toggle{display:flex!important;align-items:center;gap:8px;padding:8px 12px;border:1px solid var(--line);border-radius:11px;background:#fff;font-weight:800;white-space:nowrap;cursor:pointer}
.intolerance-review-toggle input{width:19px!important;height:19px!important;accent-color:var(--brand)}
.intolerance-options{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px 10px;margin:12px 0}
.intolerance-option{display:flex!important;align-items:center;gap:8px;padding:8px 9px;border:1px solid var(--line);border-radius:10px;background:#fff;font-weight:700;cursor:pointer}
.intolerance-option input{width:17px!important;height:17px!important;accent-color:var(--brand)}
.dietary-note-row{margin-top:10px}.dietary-note-row label{display:block;font-weight:800;margin-bottom:5px}.dietary-note-row input{width:100%}
.intolerance-warning{margin:8px 0 0!important;font-size:.9em}
@media(max-width:1200px){.intolerance-options{grid-template-columns:repeat(3,minmax(0,1fr))}}

/* v1.14.7 description helpers + explicit vegetarian/vegan review */
.description-block,.diet-suitability-block{margin:14px 0;padding:15px 16px;border:1px solid var(--line);border-radius:14px;background:#fff}.description-pick-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:end}.description-pick-row button{min-height:40px;white-space:nowrap}.description-block textarea{margin-top:8px;min-height:92px}.diet-suitability-block{background:#fffaf2;box-shadow:inset 4px 0 0 #d6a34a}.diet-suitability-block.is-reviewed{background:#f7fbf5;box-shadow:inset 4px 0 0 var(--brand)}.diet-suitability-options{display:flex;gap:18px;flex-wrap:wrap;margin-top:8px}.diet-suitability-option{display:flex!important;align-items:center;gap:8px;margin:0!important;font-weight:800;color:var(--ink)!important}.diet-suitability-option input{width:20px!important;height:20px!important;accent-color:var(--brand)}

/* v1.14.8 — review-friendly Builder tidy-up */
.review-strip{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 14px;position:sticky;top:0;z-index:8;background:rgba(247,250,247,.96);padding:9px 0;backdrop-filter:blur(8px)}
.review-strip span{font-size:12px;font-weight:850;border-radius:999px;padding:7px 10px;border:1px solid var(--line);background:#fff}.review-strip .done{background:#edf5e9;color:#496541;border-color:#c9dbc1}.review-strip .todo{background:#fff7ea;color:#825b25;border-color:#ead4aa}
.builder-section-card{border:1px solid var(--line);background:#fff;border-radius:16px;padding:16px 17px;margin:0 0 14px;box-shadow:0 2px 7px rgba(62,48,35,.035)}
.section-card-heading{display:flex;align-items:baseline;justify-content:space-between;gap:12px;border-bottom:1px solid #edf0eb;padding-bottom:9px;margin-bottom:10px}.section-card-heading h3{margin:0;font-family:Georgia,serif;font-size:20px}.section-card-heading small{color:var(--muted);text-align:right}
.compact-block{padding:10px 12px;margin:10px 0}.compact-block .content-type-options{margin-top:4px}
.photo-upload-grid{display:grid;grid-template-columns:180px minmax(0,1fr);gap:16px;align-items:center}.photo-preview-box{height:150px;border:1px dashed #b9c6b4;border-radius:13px;overflow:hidden;background:#f6f8f4;display:flex;align-items:center;justify-content:center}.photo-preview-box img{width:100%;height:100%;object-fit:cover;display:block}.photo-empty{display:flex;flex-direction:column;gap:5px;align-items:center;color:var(--muted)}.photo-empty span{font-size:30px}.photo-upload-controls{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.photo-upload-controls>strong{width:100%;font-size:13px}.photo-upload-controls .meta{width:100%;margin:2px 0}.photo-upload-button{display:inline-flex!important;align-items:center}
.trait-options,.equipment-options{display:flex;flex-wrap:wrap;gap:7px;margin:10px 0}.trait-option,.equipment-option{display:flex!important;align-items:center;gap:6px;margin:0!important;border:1px solid var(--line);border-radius:999px;padding:7px 9px;background:#fafbf9;color:var(--ink)!important;font-weight:700!important;cursor:pointer}.trait-option:has(input:checked),.equipment-option:has(input:checked){background:#edf4e9;border-color:#b5c8ac}.trait-option input,.equipment-option input{width:16px!important;height:16px!important;margin:0;accent-color:var(--brand)}
.description-actions{display:flex;gap:8px;margin:10px 0 4px}.legacy-tags-note{background:#f7f3f8;border-radius:9px;padding:8px 10px}.custom-equipment-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;margin-top:10px}.custom-equipment-list{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.custom-equipment-chip{display:inline-flex;align-items:center;gap:4px;padding:6px 8px 6px 10px;border-radius:999px;background:#eee8f1;color:#5c2c65;font-size:12px;font-weight:800}.custom-equipment-chip button{border:0;background:transparent;color:inherit;font-size:16px;line-height:1;cursor:pointer}.washing-suggestion{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:12px;padding:10px 12px;background:#f5f8f2;border-radius:11px;border:1px solid #dbe5d6}.washing-suggestion span{font-size:13px;color:var(--muted)}
.method-main-cell{min-width:0}.step-tips{border-top:1px solid var(--line);padding:8px}.step-tips-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:6px}.step-tips-head strong{font-size:12px;color:var(--muted)}.tip-add{padding:5px 8px!important;font-size:11px}.tip-editor-row{display:grid;grid-template-columns:minmax(170px,.7fr) minmax(240px,1.3fr) 34px;gap:6px;margin-top:6px;align-items:stretch}.tip-editor-row input,.tip-editor-row textarea{border:1px solid var(--line)!important;border-radius:7px!important;padding:7px!important;min-height:38px!important}.tip-editor-row textarea{resize:vertical}.tip-editor-row button{border:1px solid #e5c5c0;border-radius:7px;background:#fff7f5;color:#9f382d;font-weight:800;cursor:pointer}.step-ingredients-fieldset{margin:8px;border:1px solid #e4e9e1;border-radius:8px;padding:8px}.step-ingredients-fieldset legend{font-size:11px;font-weight:850;color:var(--muted)}
.description-block{background:#fff!important;box-shadow:none!important}.builder-section-card .intolerance-block,.builder-section-card .diet-suitability-block{margin-top:10px}
@media(max-width:1150px){.photo-upload-grid{grid-template-columns:150px 1fr}.section-card-heading{align-items:flex-start;flex-direction:column;gap:2px}.section-card-heading small{text-align:left}}

/* v1.14.11 — Preparation notes can carry the same contextual pop-up tips as Method steps. */
.prep-main-cell{min-width:0}
.prep-main-cell>textarea{display:block;width:100%;box-sizing:border-box}
.prep-main-cell .prep-tips{border-top:1px solid var(--line)}
@media(max-width:760px){.tip-editor-row{grid-template-columns:1fr 34px}.tip-editor-row textarea{grid-column:1/-1}.prep-sheet-row{grid-template-columns:32px minmax(0,1fr) 82px}}


/* v1.14.13 — central reusable Tips Library + dropdowns */
.tip-picker{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.tip-picker select{min-width:230px;max-width:420px;background:#fff}.tip-linked-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:start;margin-top:8px;padding:11px 12px;border:1px solid var(--line);border-radius:12px;background:#faf7fb}.tip-linked-row strong{display:block;color:var(--brand);margin-bottom:2px}.tip-linked-row small{display:block;color:var(--muted);font-weight:700;margin-bottom:5px}.tip-linked-row p{margin:0;white-space:pre-wrap;line-height:1.45}.tip-row-actions{display:flex;gap:6px;align-items:center;justify-content:flex-end;flex-wrap:wrap}.tip-row-actions button{width:auto!important}.tip-editor-row{grid-template-columns:minmax(180px,.7fr) minmax(300px,1.3fr) auto!important}.tip-editor-row .tip-row-actions{align-self:stretch}.tip-manager-panel{margin-top:14px;padding:16px;border:1px solid var(--line);border-radius:16px;background:#faf7fb}.tip-manager-panel.hidden{display:none}.tip-manager-head,.tip-manager-tools,.tip-manager-footer{display:flex;justify-content:space-between;gap:12px;align-items:center;flex-wrap:wrap}.tip-manager-head h3{margin:0}.tip-manager-head p{margin:.3rem 0 0}.tip-manager-tools{margin:14px 0}.tip-manager-tools input{flex:1;min-width:280px}.tip-library-list{display:grid;gap:10px;max-height:520px;overflow:auto;padding-right:4px}.tip-library-row{display:grid;grid-template-columns:minmax(180px,.65fr) minmax(340px,1.35fr) auto;gap:8px;align-items:start;padding:10px;background:#fff;border:1px solid var(--line);border-radius:12px}.tip-library-row textarea{min-height:74px}.tip-library-delete{align-self:center}.tip-manager-footer{justify-content:flex-end;margin-top:14px}

/* v1.14.14 — reliable Tips Library picker */
.tip-picker .tip-use{font-weight:850;white-space:nowrap}.tip-picker select{cursor:pointer}.tip-picker:before{content:'Saved tip:';font-size:11px;font-weight:800;color:var(--muted)}


/* v1.14.16 — quick dietary note */
.quick-dietary-note{display:flex;align-items:center;gap:8px;margin:8px 0 9px;padding:9px 11px;border:1px solid rgba(91,22,101,.18);border-radius:10px;background:#faf7fb;font-weight:600;cursor:pointer}
.quick-dietary-note input{width:auto;margin:0}
.quick-dietary-note span{font-size:.95rem}

/* v1.14.17 — release groups, multi-bundle membership and overlap checks */
.recipe-badges{display:flex;flex-direction:column;gap:4px;align-items:flex-end;flex:0 0 auto}.access-badge{font-size:9px;line-height:1;border-radius:999px;padding:4px 6px;white-space:nowrap;font-weight:900;letter-spacing:.03em}.access-badge.free{background:#e6f3e2;color:#315a2c}.access-badge.premium{background:#efe3f2;color:#64206d}.access-badge.unassigned{background:#efefef;color:#666}.release-section{background:#fffdf8!important}.release-grid{display:grid;grid-template-columns:minmax(260px,.8fr) minmax(320px,1.2fr);gap:16px;align-items:start}.bundle-rule{padding:11px 12px;border:1px solid #eadfcb;border-radius:11px;background:#fff8eb;line-height:1.45}.collection-options{display:flex;flex-wrap:wrap;gap:7px;margin:10px 0}.collection-option{display:flex!important;align-items:center;gap:6px;margin:0!important;border:1px solid var(--line);border-radius:999px;padding:7px 9px;background:#fafbf9;color:var(--ink)!important;font-weight:750!important;cursor:pointer}.collection-option:has(input:checked){background:#f0e7f2;border-color:#c9abcE}.collection-option input{width:16px!important;height:16px!important;margin:0;accent-color:var(--brand)}.custom-collection-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;margin-top:10px}.bundle-overlap{display:grid;gap:7px;margin-top:12px}.bundle-overlap-row{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:9px 11px;border-radius:10px;border:1px solid var(--line);background:#fafafa}.bundle-overlap-row div{display:flex;flex-direction:column;gap:2px}.bundle-overlap-row small{color:var(--muted)}.bundle-overlap-row>span{font-size:12px;font-weight:850;white-space:nowrap}.bundle-overlap-row.ok{background:#f4f8f1;border-color:#d7e4d0}.bundle-overlap-row.warn{background:#fff3ed;border-color:#efc7b5}.bundle-overlap-row.warn>span{color:#9b492f}.bundle-free-warning{margin:2px 0 0;padding:9px 11px;border-radius:10px;background:#fff6dd;color:#725416;font-size:12px;font-weight:700}.review-strip{flex-wrap:wrap}@media(max-width:1050px){.release-grid{grid-template-columns:1fr 1fr}}


/* v1.14.18 — collapsible Builder sections */
details.builder-section-card.collapsible-section{display:block}
details.builder-section-card.collapsible-section>summary.section-card-heading{cursor:pointer;list-style:none;margin-bottom:0;border-bottom:0;padding-right:30px;position:relative;user-select:none}
details.builder-section-card.collapsible-section>summary.section-card-heading::-webkit-details-marker{display:none}
details.builder-section-card.collapsible-section>summary.section-card-heading::after{content:"›";position:absolute;right:4px;top:50%;transform:translateY(-50%);font-family:Arial,sans-serif;font-size:26px;line-height:1;color:var(--brand);font-weight:800}
details.builder-section-card.collapsible-section[open]>summary.section-card-heading{margin-bottom:10px;border-bottom:1px solid #edf0eb}
details.builder-section-card.collapsible-section[open]>summary.section-card-heading::after{content:"⌄";top:45%}
details.builder-section-card.collapsible-section>summary.section-card-heading:hover h3{color:var(--brand)}


/* v1.14.20 — Ingredient ↔ Method checker */
.method-check-panel{margin-top:16px;border-top:1px solid var(--line);padding-top:14px}
.method-check-summary{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 14px;border-radius:12px;border:1px solid var(--line);background:#fafafa}
.method-check-summary>div{display:flex;flex-direction:column;gap:3px}
.method-check-summary small{color:var(--muted);font-weight:400}
.method-check-summary.pass{background:#f3f8f1;border-color:#c8dbc1}
.method-check-summary.warn{background:#fff8ec;border-color:#e9c985}
.method-check-group{margin:10px 0;padding:10px 14px;border:1px solid var(--line);border-radius:12px;background:#fff}
.method-check-group ul{margin:7px 0 0 18px;padding:0}
.method-check-group li{margin:3px 0}
.method-check-info{margin:10px 0;padding:8px 12px;border:1px dashed var(--line);border-radius:10px}
.method-check-info summary{cursor:pointer;font-weight:700}
.method-check-repeat{margin:10px 2px 0}
.method-check-badge{font-size:10px;line-height:1;border-radius:999px;padding:4px 6px;white-space:nowrap}
.method-check-badge.pass{background:#edf6e9;color:#47673d}
.method-check-badge.warn{background:#fff1d7;color:#795217}

/* v1.14.21 — manual acknowledgement for advisory method-check warnings */
.method-check-summary.reviewed{background:#f3f8f1;border-color:#c8dbc1;box-shadow:inset 4px 0 0 var(--brand)}
.method-check-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end;align-items:center}
.method-check-badge.reviewed{background:#edf6e9;color:#47673d}

.ingredient-sort-tools{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:0 0 12px}.ingredient-sort-tools .meta{margin:0}


/* v1.14.26 — publication status view */
.editor-publish-filter{
  margin:12px 0 14px;
  padding:10px;
  border:1px solid var(--line);
  border-radius:13px;
  background:#f8faf7;
}
.editor-publish-title{
  margin:0 0 7px;
  font-size:11px;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:var(--muted);
}
.editor-publish-buttons{
  display:grid;
  gap:6px;
}
.editor-publish-buttons button{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
  width:100%;
  border:1px solid #ddd8d0;
  border-radius:10px;
  padding:8px 10px;
  background:#fff;
  color:var(--ink);
  font-weight:800;
  cursor:pointer;
}
.editor-publish-buttons button small{
  min-width:28px;
  padding:2px 6px;
  border-radius:999px;
  background:#efeee9;
  text-align:center;
}
.editor-publish-buttons button.active{
  border-color:var(--brand);
  background:#edf4e9;
  box-shadow:0 0 0 2px rgba(127,152,112,.14);
}


/* v1.14.27 — optional Cooking Guide link on every Method step */
.step-guide-field{display:grid!important;grid-template-columns:auto minmax(260px,1fr);align-items:center;gap:10px;margin:8px!important;padding:9px 10px;border:1px solid #d8c8dc;border-radius:9px;background:#fbf7fc;color:#5b1665!important;font-size:12px!important;font-weight:850}
.step-guide-field>span{white-space:nowrap}.step-guide-field small{font-weight:650;color:var(--muted)}
.step-guide-field select{min-width:0;border:1px solid #d8c8dc!important;border-radius:7px!important;padding:7px 8px!important;background:#fff;color:var(--ink)}
@media(max-width:850px){.step-guide-field{grid-template-columns:1fr}.step-guide-field>span{white-space:normal}}

.step-guide-field em{display:block;margin-top:3px;font-style:normal;font-size:10px;font-weight:650;color:var(--muted);white-space:normal}


/* v1.14.29 — automatic ingredient suggestions */
.ingredient-auto-tools{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:10px 0 12px;padding:11px 12px;border:1px solid #d9e3d4;border-radius:13px;background:#f4f8f2}
.ingredient-auto-tools button{font-weight:900}
.ingredient-suggestion-card{margin:0 0 14px;border:1px solid #cad8c3;border-radius:14px;background:#fbfdf9;overflow:hidden}
.ingredient-suggestion-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:13px 14px;background:#eef5ea;border-bottom:1px solid #d8e4d2}
.ingredient-suggestion-head strong{font-size:15px;color:var(--ink)}
.ingredient-suggestion-head p{margin:3px 0 0;color:var(--muted);font-size:12px;line-height:1.4}
.ingredient-suggestion-grid{padding:10px 12px}
.ingredient-suggestion-grid-head,.ingredient-suggestion-row{display:grid;grid-template-columns:52px 110px 110px minmax(230px,1fr);gap:8px;align-items:center}
.ingredient-suggestion-grid-head{padding:0 5px 6px;font-size:10px;font-weight:900;letter-spacing:.05em;text-transform:uppercase;color:var(--muted)}
.ingredient-suggestion-row{padding:5px;border-top:1px solid #edf0ea}
.ingredient-suggestion-row:first-of-type{border-top:0}
.ingredient-suggestion-row>input[type="checkbox"]{width:19px;height:19px;justify-self:center;accent-color:var(--brand)}
.ingredient-suggestion-row>input:not([type="checkbox"]){width:100%;min-width:0}
.ingredient-suggestion-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:11px 14px;border-top:1px solid #d8e4d2;background:#fff}
.ingredient-suggestion-success,.ingredient-suggestion-empty{margin:0 0 14px;padding:11px 13px;border-radius:12px;border:1px solid #d7e2d1;background:#f2f7ef;color:#49613f;font-weight:800}
.ingredient-suggestion-empty{font-weight:600;color:var(--muted)}
@media(max-width:1150px){.ingredient-suggestion-grid-head,.ingredient-suggestion-row{grid-template-columns:48px 95px 95px minmax(210px,1fr)}}


/* v1.14.30 — Free version & recipe bundle editor */
.bundle-manager-panel{margin-top:14px}
.bundle-manager-create{display:flex;gap:8px;align-items:center;margin:12px 0}.bundle-manager-create input{flex:1}
.bundle-manager-layout{display:grid;grid-template-columns:250px minmax(0,1fr);gap:14px;align-items:start}
.bundle-manager-nav{border:1px solid var(--line);border-radius:14px;padding:8px;background:#fafaf8;max-height:590px;overflow:auto}
.bundle-nav-heading{font-size:10px;font-weight:900;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);padding:8px 8px 5px}
.bundle-manager-nav button{width:100%;display:flex;justify-content:space-between;align-items:center;gap:8px;padding:9px 10px;border:1px solid transparent;border-radius:10px;background:transparent;text-align:left;color:var(--ink);font-weight:800;cursor:pointer}
.bundle-manager-nav button:hover{background:#fff}.bundle-manager-nav button.active{background:#edf4e9;border-color:var(--brand);box-shadow:0 0 0 2px rgba(127,152,112,.12)}
.bundle-manager-nav button small{min-width:28px;text-align:center;background:#eeeee9;border-radius:999px;padding:2px 6px}
.bundle-manager-main{border:1px solid var(--line);border-radius:14px;padding:13px;background:#fff;min-width:0}
.bundle-manager-main-head{display:flex;justify-content:space-between;gap:14px;align-items:flex-start}.bundle-manager-main-head h4{margin:0;font-size:20px;color:var(--brand-dark,var(--brand))}
.bundle-title-line{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.bundle-target{font-size:11px;font-weight:900;border-radius:999px;padding:4px 8px}.bundle-target.ok{background:#e8f0e4;color:#4c6841}.bundle-target.warn{background:#fff0dc;color:#80541f}
.bundle-manager-actions{display:flex;gap:6px;flex-wrap:wrap}.bundle-recipe-search{width:100%;margin:8px 0 10px}
.bundle-recipe-list{display:grid;gap:5px;max-height:440px;overflow:auto;padding-right:3px}.bundle-recipe-row{display:grid;grid-template-columns:22px minmax(200px,1fr) 110px auto;gap:9px;align-items:center;padding:8px 9px;border:1px solid #e4e1da;border-radius:10px;background:#fbfbfa;cursor:pointer}.bundle-recipe-row:hover{border-color:#b9c7b0;background:#fff}.bundle-recipe-row input{width:18px;height:18px;accent-color:var(--brand)}.bundle-recipe-name{font-weight:800}.bundle-recipe-meta{font-size:12px;color:var(--muted)}
.bundle-manager-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
@media(max-width:900px){.bundle-manager-layout{grid-template-columns:1fr}.bundle-manager-nav{max-height:260px}.bundle-recipe-row{grid-template-columns:22px minmax(150px,1fr) auto}.bundle-recipe-meta{display:none}}


/* v1.14.36 — per-method-step ingredient scanner */
.step-scan-tools{
  display:flex;
  justify-content:flex-end;
  align-items:center;
  padding:6px 8px 3px;
}
.step-scan-button{
  padding:6px 9px!important;
  font-size:11px!important;
  font-weight:850!important;
  border-color:#b9cdb0!important;
  background:#f4f8f1!important;
  color:var(--green)!important;
}
.step-scan-panel{
  margin:6px 8px 10px;
  border:2px solid #b9cdb0;
  border-radius:11px;
  overflow:hidden;
  background:#fbfdf9;
}
.step-scan-head{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:10px;
  padding:10px 11px;
  background:#edf5e9;
  border-bottom:1px solid #cfddc8;
}
.step-scan-head strong{display:block;font-size:13px;color:var(--ink)}
.step-scan-head small{display:block;margin-top:2px;color:var(--muted);line-height:1.35}
.step-scan-grid{padding:7px 9px}
.step-scan-grid-head,.step-scan-row{
  display:grid;
  grid-template-columns:42px 82px 82px minmax(170px,1fr) 105px;
  gap:6px;
  align-items:center;
}
.step-scan-grid-head{
  padding:2px 3px 5px;
  font-size:9px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.04em;
  color:var(--muted);
}
.step-scan-row{
  padding:5px 3px;
  border-top:1px solid #e7ede3;
}
.step-scan-row input{min-width:0!important;padding:6px!important}
.step-scan-row input[type="checkbox"]{width:18px!important;height:18px!important;justify-self:center}
.step-scan-row input[readonly]{background:#f2f4f1!important;color:#5e665a!important}
.step-scan-status{
  display:inline-flex;
  justify-content:center;
  border-radius:999px;
  padding:4px 6px;
  font-size:9px;
  font-weight:900;
  white-space:nowrap;
}
.step-scan-status.existing{background:#e8f2e3;color:#48683e}
.step-scan-status.new{background:#fff0e7;color:#94552e}
.step-scan-actions{
  display:flex;
  gap:7px;
  align-items:center;
  flex-wrap:wrap;
  padding:9px 10px;
  border-top:1px solid #cfddc8;
  background:#fff;
}
.step-scan-actions .meta{flex:1 1 260px;margin:0}
@media(max-width:900px){
  .step-scan-grid-head,.step-scan-row{
    grid-template-columns:38px 70px 70px minmax(145px,1fr) 92px;
  }
}


/* v1.14.37 — ingredient Alternatives / “Don’t have it?” editor */
body .ingredient-sheet.scaling-sheet{
  min-width:1140px;
}
body .scaling-sheet .ingredient-sheet-head,
body .scaling-sheet .ingredient-sheet-row{
  grid-template-columns:42px 74px 90px 115px minmax(180px,1.25fr) minmax(170px,1fr) 92px 130px 150px;
}
.ingredient-entry{border-bottom:1px solid var(--line)}
.ingredient-entry>.ingredient-sheet-row{border-bottom:0!important}
.ingredient-actions-builder{flex-wrap:nowrap!important;white-space:nowrap!important}
.ingredient-actions-builder button{padding:5px 6px!important}
.ingredient-swaps-button{
  min-width:60px;
  font-size:10px;
  font-weight:900;
  color:var(--green);
  background:#f4f8f1!important;
  border-color:#b9cdb0!important;
}
.ingredient-swaps-button.has-swaps{
  background:#e8f2e3!important;
  border-color:#8eae83!important;
}
.ingredient-alternatives-editor{
  margin:0 10px 10px 42px;
  border:2px solid #b9cdb0;
  border-radius:10px;
  background:#fbfdf9;
  overflow:hidden;
}
.ingredient-alternatives-title{
  display:flex;
  justify-content:space-between;
  gap:12px;
  align-items:flex-start;
  padding:10px 12px;
  background:#edf5e9;
  border-bottom:1px solid #cfddc8;
}
.ingredient-alternatives-title strong{display:block;font-size:13px}
.ingredient-alternatives-title small{display:block;margin-top:2px;color:var(--muted);line-height:1.35}
.ingredient-alternatives-list{padding:8px 10px 2px}
.ingredient-alternative-edit-row{
  display:grid;
  grid-template-columns:1fr 38px;
  gap:6px;
  margin-bottom:7px;
}
.ingredient-alternative-edit-row input{min-height:38px}
.ingredient-alternative-edit-row button{
  border:1px solid var(--line);
  border-radius:7px;
  background:#fff;
  cursor:pointer;
}
.ingredient-alt-add{margin:0 10px 10px}


/* v1.14.38 — maximum four description choices */
.trait-choice-counter{
  margin:7px 0 0;
  color:var(--muted);
  font-size:11px;
  font-weight:800;
}
.trait-choice-counter.over-limit{
  color:#a23c32;
}
.trait-option.trait-disabled{
  opacity:.46;
  cursor:not-allowed;
}
.trait-option.trait-disabled input{
  cursor:not-allowed;
}

/* v1.14.39 */
.standard-weight-cell{display:flex;align-items:center;gap:4px}.standard-weight-cell input{min-width:0}.standard-weight-cell span{font-size:12px;color:var(--muted)}
.standard-weight-grid{display:grid;gap:8px;margin:14px 0}.standard-weight-head,.standard-weight-row{display:grid;grid-template-columns:minmax(220px,1fr) 150px 44px;gap:8px;align-items:center}.standard-weight-head{font-weight:800;color:var(--muted);font-size:12px}.standard-weight-row button{height:40px}
.save-time-builder{margin:10px 0 0 42px;padding:9px 11px;border:1px dashed #c9b2d0;border-radius:10px;background:#fcf9fd}.save-time-builder summary{cursor:pointer;font-weight:800;color:#6b2d72}.save-time-enable{display:flex;gap:8px;align-items:center;margin:10px 0}.save-time-enable input{width:auto}.save-time-fields{display:grid;grid-template-columns:170px 1fr;gap:10px}.save-time-fields textarea{min-height:64px}
@media(max-width:900px){.save-time-fields{grid-template-columns:1fr}.save-time-builder{margin-left:0}.standard-weight-head,.standard-weight-row{grid-template-columns:1fr 120px 40px}}


/* v1.14.41 — compact 9-column ingredient layout + Free starter bundle lock */
body .ingredient-sheet.scaling-sheet{min-width:1260px}
body .scaling-sheet .ingredient-sheet-head,
body .scaling-sheet .ingredient-sheet-row{grid-template-columns:42px 76px 88px 100px minmax(210px,1.35fr) minmax(180px,1.1fr) 110px 130px 118px 150px!important}
body .scaling-sheet .ingredient-sheet-row{min-height:46px}
body .scaling-sheet .ingredient-actions-builder{display:flex!important;flex-wrap:nowrap!important;align-items:center;justify-content:center;gap:3px;padding:4px}
body .scaling-sheet .ingredient-actions-builder button{flex:0 0 auto}
.free-bundle-lock{display:flex;flex-direction:column;gap:3px;width:100%;padding:10px 12px;border:1px solid #c9d9c2;border-radius:11px;background:#f1f7ee;color:var(--ink)}
.free-bundle-lock strong{color:#315a2c}.free-bundle-lock span{font-size:12px;color:var(--muted);line-height:1.4}
.bundle-recipe-row.free-locked{opacity:.52;cursor:not-allowed;background:#f3f3f1}.bundle-recipe-row.free-locked:hover{border-color:#e4e1da;background:#f3f3f1}.bundle-recipe-row.free-locked input{cursor:not-allowed}

/* v1.14.42 — proper recipe output: Serves people or Makes items */
.recipe-output-editor{border:1px solid var(--line);border-radius:14px;padding:10px 12px;background:#fbfcfa;}
.output-editor-grid{display:grid;grid-template-columns:minmax(120px,.7fr) minmax(180px,1.3fr);gap:9px;align-items:end;}
.output-editor-grid label{margin-top:9px!important;}
@media(max-width:650px){.output-editor-grid{grid-template-columns:1fr;}}

/* v1.14.47: publish and direct-open controls in Free & bundles manager */
.bundle-recipe-row{grid-template-columns:22px minmax(200px,1fr) 110px 112px 112px;cursor:default}.bundle-membership-check{display:flex;align-items:center;justify-content:center;margin:0!important;cursor:pointer}.bundle-membership-check input{margin:0}.bundle-publish-toggle,.bundle-open-recipe{min-height:34px;border-radius:9px;padding:6px 9px;font-size:12px;font-weight:850;white-space:nowrap;cursor:pointer}.bundle-publish-toggle{border:1px solid var(--line);background:#fff}.bundle-publish-toggle.is-published{background:#e8f0e4;color:#4c6841;border-color:#c9dbc1}.bundle-publish-toggle.is-unpublished{background:#f3e5d6;color:#75491f;border-color:#dfc8ae}.bundle-open-recipe{border:1px solid var(--line)!important;background:#f8faf8!important;color:var(--ink)!important}.bundle-open-recipe:hover{background:#eef4eb!important}.bundle-recipe-row.free-locked .bundle-publish-toggle,.bundle-recipe-row.free-locked .bundle-open-recipe{opacity:1;cursor:pointer}.bundle-recipe-row.free-locked .bundle-membership-check{cursor:not-allowed}
@media(max-width:1100px){.bundle-recipe-row{grid-template-columns:22px minmax(170px,1fr) 104px 108px}.bundle-recipe-meta{display:none}}

/* v1.14.49 Free & bundles sorting */
.bundle-list-tools{display:flex;gap:10px;align-items:center;margin:10px 0}.bundle-list-tools .bundle-recipe-search{flex:1;margin:0}.bundle-sort-label{display:flex;align-items:center;gap:7px;white-space:nowrap;font-weight:700;color:var(--ink)}.bundle-sort-label select{width:auto;min-width:150px;margin:0;padding:9px 34px 9px 10px}@media(max-width:760px){.bundle-list-tools{align-items:stretch;flex-direction:column}.bundle-sort-label{justify-content:space-between}.bundle-sort-label select{flex:1}}

/* v1.14.51 — Version Manager filtering + category coverage */
.bundle-category-summary{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}
.bundle-summary-chip{display:inline-flex;align-items:center;gap:3px;padding:4px 8px;border:1px solid #cfd7df;border-radius:999px;font-size:.82rem;background:#fff}
.bundle-summary-chip.is-zero{opacity:.55}
.bundle-list-tools{flex-wrap:wrap}


.method-alternatives{margin-top:12px;padding:10px;border:1px solid #d8dee5;border-radius:10px;background:#fafbfc}
.method-alt-head{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap}
.method-alt-card{margin-top:10px;padding:10px;border:1px solid #d8dee5;border-radius:9px;background:#fff}
.method-alt-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-bottom:8px}
.method-alt-grid label{display:flex;flex-direction:column;gap:4px}
.method-alt-full{grid-column:1/-1}
@media(max-width:760px){.method-alt-grid{grid-template-columns:1fr}.method-alt-full{grid-column:auto}}


/* v1.14.57 — clearer Method-step layout */
.method-sheet-row{
  align-items:start;
}
.method-step-number{
  align-self:start;
  padding-top:4px;
}
.method-main-cell{
  min-width:0;
}
.method-under-row{
  display:grid;
  grid-template-columns:minmax(220px,.8fr) minmax(0,2fr);
  gap:12px;
  margin-top:12px;
  align-items:start;
}
.method-under-row .sheet-timer,
.method-under-row .method-alternatives{
  margin-top:0;
}
.method-under-row .sheet-timer{
  width:auto;
}
.method-under-row .method-alternatives{
  width:auto;
}
@media(max-width:900px){
  .method-under-row{
    grid-template-columns:1fr;
  }
}


/* v1.14.59 — insert Method steps anywhere + keep reorder controls beside the instruction */
.method-sheet-head,
.method-sheet-row{
  grid-template-columns:38px minmax(0,1fr)!important;
}
.method-step-toolbar{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:5px;
  padding:6px 8px 4px;
  border-bottom:1px solid var(--line);
  background:#fafbf9;
}
.method-step-toolbar button{
  border:1px solid var(--line);
  background:#f8faf8;
  border-radius:6px;
  padding:5px 8px;
  cursor:pointer;
  font-weight:800;
  line-height:1.1;
}
.method-step-toolbar .method-insert-step{
  margin-left:3px;
  color:var(--green);
  white-space:nowrap;
}
.method-main-cell>textarea{
  width:100%;
}
@media(max-width:700px){
  .method-step-toolbar{justify-content:flex-start;flex-wrap:wrap}
}

/* v1.15.0 — top search, bundle filtering and recipe-protection controls */
.editor-search-dock{
  position:sticky;
  top:8px;
  z-index:30;
  margin:12px 0 14px;
  padding:12px 14px;
  border:1px solid var(--line);
  border-radius:14px;
  background:rgba(247,250,247,.97);
  box-shadow:0 6px 18px rgba(49,64,43,.08);
  backdrop-filter:blur(8px);
}
.editor-search-dock>label{display:block;margin:0 0 6px;font-size:12px;font-weight:900;color:var(--green)}
.editor-search-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center}
.editor-search-row .editor-search{margin:0;min-height:44px;font-size:15px}
.editor-search-status{min-height:16px;margin-top:5px;font-size:12px;color:var(--muted)}
.editor-bundle-filter{margin:0 0 12px;padding:10px;border:1px solid var(--line);border-radius:13px;background:#f8faf7}
.editor-bundle-filter select{width:100%;padding:8px 9px;border:1px solid #ddd8d0;border-radius:10px;background:#fff;color:var(--ink);font-weight:700}
.editor-sidebar{top:92px;max-height:calc(100vh - 104px)}
@media(max-width:650px){.editor-search-dock{top:4px}.editor-sidebar{position:static;max-height:none}.editor-search-row{grid-template-columns:1fr}.editor-search-row button{justify-self:start}}

/* v1.15.1 archived recipe manager */
.archive-list{display:grid;gap:8px;margin-top:12px}.archive-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;border:1px solid var(--line,#d8d8d8);border-radius:10px;background:#fff}.archive-row .meta{margin-top:3px}.archive-row button{flex:0 0 auto}

/* v1.15.2 — traditional top search results */
.editor-top-results{margin-top:8px;border:1px solid var(--line);border-radius:12px;background:#fff;overflow:hidden;box-shadow:0 8px 20px rgba(0,0,0,.05)}
.editor-top-results.hidden{display:none}
.editor-top-results-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:9px 11px;background:#eef3ec;border-bottom:1px solid var(--line)}
.editor-top-results-head small{color:var(--muted)}
.editor-top-results-list{max-height:270px;overflow:auto}
.editor-top-result{width:100%;display:flex;justify-content:space-between;align-items:center;gap:16px;text-align:left;padding:10px 12px;border:0;border-bottom:1px solid var(--line);background:#fff;color:var(--ink);cursor:pointer}
.editor-top-result:last-child{border-bottom:0}
.editor-top-result:hover,.editor-top-result.active{background:#f0f5ed}
.editor-top-result span{font-weight:800}
.editor-top-result small{color:var(--muted);white-space:nowrap}
/* v1.15.8 — Add-on release badge */
.access-badge.addon{background:#e7eef7;color:#315579}

/* v1.15.16: compact method-step ingredient assignment */
.step-ingredients-fieldset{display:block}
.step-ingredients-fieldset summary{cursor:pointer;padding:8px 10px;font-size:12px;font-weight:850;color:var(--green);list-style-position:inside}
.step-ingredients-fieldset:not([open]){padding:0}
.step-ingredient-actions{padding:2px 8px 8px;font-size:12px;color:var(--muted)}
.step-ingredient-actions label{display:flex!important;align-items:center;gap:7px;margin:0!important}
.step-ingredient-actions input{width:auto!important}
.step-ingredient-choice.used-earlier{opacity:.78}
.step-ingredient-choice small{font-weight:600;color:var(--muted)}

/* v1.15.20 heat + swap */
.method-heat-builder{margin:10px 0;padding:9px 10px;border:1px solid #d9dfd5;border-radius:12px;background:#f7faf5;display:flex;gap:12px;align-items:center;flex-wrap:wrap}.method-heat-builder.heat-unset{background:#fff8df;border-color:#e1c45b}.heat-choice-row{display:flex;gap:5px;align-items:center}.heat-choice{min-width:42px;height:36px;padding:4px 7px;border:1px solid #bbb;border-radius:9px;background:white;font-size:16px}.heat-choice.selected{outline:3px solid rgba(91,22,101,.2);border-color:#65206d}.oven-choice{font-weight:800}.oven-temp-entry{display:flex;align-items:center;gap:7px}.oven-temp-entry input{width:78px}.use-more-veg-check{display:flex;align-items:center;gap:8px;margin:10px 0;font-weight:700}.use-more-veg-check input{width:18px;height:18px}


/* v1.15.23 — Ideas Board is a dedicated lined-paper page for NEW ideas only. */
body.ideas-board-open{overflow:hidden}
body.ideas-board-open .builder-top,body.ideas-board-open .editor-search-dock,body.ideas-board-open .editor-layout,body.ideas-board-open .editor-actions,body.ideas-board-open .editor-note{visibility:hidden}
#ideasBoardPanel.hidden{display:none!important}
#ideasBoardPanel:not(.hidden){position:fixed;inset:0;z-index:10000;overflow:auto;background:#f4f1e8;padding:24px}
.ideas-board-page{max-width:1100px;margin:0 auto}
.ideas-board-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin:0 0 18px}
.ideas-board-head h2{margin:2px 0 5px;color:var(--green)}
.ideas-board-paper{min-height:70vh;padding:28px 34px;border:1px solid #d8d1bd;border-radius:14px;box-shadow:0 8px 30px rgba(55,48,35,.10);background-color:#fffdf5;background-image:repeating-linear-gradient(to bottom,transparent 0,transparent 31px,#cbd8df 32px,#cbd8df 33px)}
.ideas-board-list{display:grid;gap:12px}
.idea-board-row{display:grid;grid-template-columns:minmax(180px,1fr) minmax(260px,2fr) auto;gap:12px;align-items:center;min-height:42px}
.idea-board-row input{border:0;border-bottom:1px solid rgba(87,103,111,.32);border-radius:0;background:rgba(255,255,255,.68);padding:7px 8px;font-family:"Segoe Print","Bradley Hand","Comic Sans MS",cursive;font-size:16px;color:#343c35}
.idea-board-row input:focus{outline:2px solid rgba(91,22,101,.18);background:#fff}
.ideas-board-note{font-family:"Segoe Print","Bradley Hand","Comic Sans MS",cursive;color:#596255}
.ideas-board-tools{display:flex;gap:10px;margin-top:22px}
@media(max-width:760px){#ideasBoardPanel:not(.hidden){padding:14px}.ideas-board-head{display:block}.ideas-board-head button{margin-top:10px}.ideas-board-paper{padding:18px 14px}.idea-board-row{grid-template-columns:1fr}.ideas-board-tools{flex-wrap:wrap}}


/* v1.15.50 - timing, parallel-cooking and Save Time review controls */
.review-strip .timing-alert{background:#fde2e2!important;border-color:#c62828!important;color:#8d1111!important;font-weight:800!important}
.prep-timing-warning{display:none;margin:0 0 12px;padding:10px 12px;border:2px solid #c62828;border-radius:12px;background:#fff0f0;color:#7f1010}
.prep-timing-warning.visible{display:flex;gap:8px 16px;align-items:flex-start;flex-wrap:wrap}
.prep-timing-warning strong{font-size:15px}.prep-timing-warning span{font-weight:600}
.row-timing-warning{margin:8px 0;padding:8px 10px;border-radius:8px;background:#fff1f1;color:#9b1b1b;font-weight:700;border-left:4px solid #c62828}
.timing-conflict-row{outline:2px solid rgba(198,40,40,.18);outline-offset:2px}
.prep-row-actions{display:flex;flex-direction:column;gap:8px}.prep-row-actions .primary,.method-row-save{background:#6c2a86!important;color:#fff!important;border-color:#6c2a86!important;font-weight:800!important}
.method-timing-panel{margin:10px 0 2px;padding:12px;border:1px solid #d8c5e0;border-radius:12px;background:#fbf8fc}
.method-timing-title{display:flex;justify-content:space-between;gap:10px;align-items:baseline;margin-bottom:8px}.method-timing-title strong{color:#5f216f}.method-timing-title small{color:#67736b}
.method-timing-grid{display:grid;grid-template-columns:minmax(180px,1fr) minmax(180px,1fr) minmax(220px,1.2fr);gap:10px;align-items:end}.method-timing-grid label{margin:0}.method-timing-check{display:flex!important;align-items:center;gap:8px;min-height:44px;padding:8px 10px;border:1px solid #ded7e0;border-radius:9px;background:#fff}.method-timing-check input{width:20px;height:20px;flex:0 0 auto}
.parallel-cooking-builder{margin-top:10px;border-top:1px solid #ded7e0;padding-top:8px}.parallel-cooking-builder summary{font-weight:800;color:#56715e;cursor:pointer}.parallel-step-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 12px;margin:8px 0}.parallel-step-options label{display:flex;gap:8px;align-items:flex-start;background:#fff;padding:7px;border-radius:8px}.parallel-step-options input{width:18px;height:18px;margin-top:1px}
@media(max-width:900px){.method-timing-grid{grid-template-columns:1fr}.parallel-step-options{grid-template-columns:1fr}}


/* ========================================================================== */
/* v1.15.51 - Method timing layout readability - 30 Sep 2026                  */
/* Give timing/parallel-cooking enough room and use the spare horizontal space. */
/* ========================================================================== */
.method-under-row{
  grid-template-columns:minmax(390px,1fr) minmax(430px,1.08fr)!important;
  gap:16px!important;
  width:100%!important;
  max-width:none!important;
  align-items:start!important;
}
.method-timing-panel{
  margin:0!important;
  padding:14px 16px!important;
  min-width:0!important;
  width:100%!important;
  box-sizing:border-box!important;
}
.method-timing-title{display:grid!important;grid-template-columns:minmax(0,auto) minmax(180px,1fr)!important;gap:12px!important;align-items:start!important;}
.method-timing-title small{font-size:12px!important;line-height:1.35!important;text-align:left!important;}
.method-timing-grid{grid-template-columns:minmax(150px,.85fr) minmax(175px,1fr)!important;gap:10px 12px!important;align-items:stretch!important;}
.method-timing-grid>label:first-child{grid-column:1!important;}
.method-timing-grid>.method-timing-check{min-width:0!important;}
.method-timing-grid>.method-timing-check:last-child{grid-column:1/-1!important;}
.timer-fields.single-message{grid-template-columns:minmax(145px,.7fr) minmax(240px,1.3fr)!important;gap:10px!important;margin-top:10px!important;}
.timer-fields.single-message label{font-size:12px!important;font-weight:700!important;line-height:1.25!important;}
.timer-fields.single-message select,
.timer-fields.single-message input{min-height:42px!important;padding:8px 10px!important;font-size:15px!important;line-height:1.25!important;}
.timer-fields.single-message input[data-timer-message]{font-size:16px!important;font-weight:650!important;letter-spacing:.01em!important;}
.parallel-cooking-builder{margin-top:12px!important;padding-top:10px!important;}
.parallel-cooking-builder .meta{font-size:12px!important;line-height:1.4!important;}
.parallel-step-options{grid-template-columns:1fr!important;gap:7px!important;}
.method-alternatives{margin-top:0!important;min-width:0!important;width:100%!important;box-sizing:border-box!important;}
@media(min-width:1250px){
  .method-under-row{grid-template-columns:minmax(430px,.95fr) minmax(520px,1.2fr)!important;gap:18px!important;}
}
@media(max-width:1120px){
  .method-under-row{grid-template-columns:1fr!important;}
  .timer-fields.single-message{grid-template-columns:minmax(145px,.7fr) minmax(280px,1.3fr)!important;}
}

/* v1.15.52 — search results can be dismissed without clearing the search */
.editor-top-results-meta{display:flex;align-items:center;gap:8px}
.editor-top-results-close{width:28px;height:28px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--ink);font-size:20px;line-height:1;cursor:pointer;padding:0}
.editor-top-results-close:hover{background:#f7f2f8;color:var(--brand)}


/* v1.15.54 — compact Method steps, timing drawer and package-scoped sidebar counts */
.method-main-cell>textarea{min-height:58px!important}
.method-heat-builder{margin:6px 8px!important;padding:7px 9px!important}
.step-scan-tools{margin:4px 8px!important}
.step-ingredients-fieldset{margin:6px 8px!important;background:#f5f8f3!important}
.step-tips{margin:6px 8px!important;padding:7px 9px!important;border:1px solid #e4e1ea!important;border-radius:10px!important;background:#faf8fc!important}
.step-tips-head{margin-bottom:4px!important}
.method-compact-secondary{margin:6px 8px!important}
.timing-summary-button{width:100%;display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:8px;align-items:center;text-align:left;padding:8px 10px;border:1px solid #d5bfdf;border-radius:10px;background:#f8f1fa;color:var(--ink);cursor:pointer}
.timing-summary-button strong{color:#602171;font-size:13px}.timing-summary-button span{font-size:12px;color:#65716a;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.timing-summary-button em{font-style:normal;font-weight:850;color:#602171}
.method-under-row{display:block!important;margin:6px 8px 8px!important;width:auto!important}
.method-under-row>.method-timing-panel{display:none!important}
.method-alternatives{padding:8px 10px!important;background:#f6f8fa!important;border-color:#dfe4e7!important}
.method-alternatives>.meta{margin:4px 0!important;font-size:11px!important}
.method-alt-card{margin-top:7px!important;padding:8px!important}
body.timing-drawer-open{overflow:hidden}
.method-timing-drawer{position:fixed;inset:0;z-index:12000;display:none}
.method-timing-drawer.open{display:block}
.method-timing-drawer-backdrop{position:absolute;inset:0;background:rgba(28,24,30,.34)}
.method-timing-drawer-sheet{position:absolute;top:0;right:0;width:min(620px,94vw);height:100%;overflow:auto;background:#fffdfc;box-shadow:-16px 0 42px rgba(38,25,42,.18);padding:16px}
.method-timing-drawer-head{position:sticky;top:0;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:4px 0 12px;margin-bottom:8px;background:#fffdfc;border-bottom:1px solid var(--line)}
.method-timing-drawer-head small{color:var(--muted);font-weight:800;text-transform:uppercase;letter-spacing:.06em}.method-timing-drawer-head h3{margin:2px 0 0;color:#602171}
.method-timing-drawer-body .method-timing-panel{display:block!important;margin:0!important;border:0!important;background:transparent!important;padding:0!important}
.method-timing-drawer-body .method-timing-grid{grid-template-columns:1fr 1fr!important}
.method-timing-drawer-body .timer-fields.single-message{grid-template-columns:170px minmax(0,1fr)!important}
.method-timing-drawer-body .parallel-step-options{grid-template-columns:1fr!important}
@media(max-width:700px){.timing-summary-button{grid-template-columns:1fr auto}.timing-summary-button span{grid-column:1/-1;grid-row:2}.method-timing-drawer-sheet{width:100%}.method-timing-drawer-body .method-timing-grid,.method-timing-drawer-body .timer-fields.single-message{grid-template-columns:1fr!important}}
.editor-category-button small{font-variant-numeric:tabular-nums}


/* v1.15.55 — compact Method Tips / Alternatives / Speedy summaries in shared drawer */
.method-compact-secondary{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:7px!important;
  margin:6px 8px!important;
}
.method-summary-button{
  min-width:0;
  display:grid;
  grid-template-columns:1fr auto;
  grid-template-rows:auto auto;
  gap:2px 8px;
  align-items:center;
  text-align:left;
  padding:8px 10px;
  border-radius:10px;
  color:var(--ink);
  cursor:pointer;
  box-sizing:border-box;
}
.method-summary-button strong{font-size:12.5px;line-height:1.2}
.method-summary-button span{grid-column:1/-1;font-size:11.5px;line-height:1.25;color:#65716a;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.method-summary-button em{font-style:normal;font-weight:850;font-size:11px;white-space:nowrap}
.timing-summary-button{border:1px solid #d5bfdf;background:#f8f1fa}.timing-summary-button strong,.timing-summary-button em{color:#602171}
.tips-summary-button{border:1px solid #c9dac2;background:#f4f8f1}.tips-summary-button strong,.tips-summary-button em{color:#527342}
.alternatives-summary-button{border:1px solid #ccd8df;background:#f3f7f9}.alternatives-summary-button strong,.alternatives-summary-button em{color:#466879}
.method-drawer-source{display:block!important;margin:0!important;width:auto!important}
.method-drawer-source>[data-method-panel]{display:none!important}
.method-timing-drawer-body>[data-method-panel]{display:block!important;margin:0!important;width:100%!important;box-sizing:border-box!important}
.method-timing-drawer-body>.step-tips,.method-timing-drawer-body>.method-alternatives{padding:10px!important;border-radius:10px!important}
.method-timing-drawer-body>.step-tips{background:#f8fbf6!important;border:1px solid #dce7d7!important}
.method-timing-drawer-body>.method-alternatives{background:#f6f9fb!important;border:1px solid #dbe3e8!important}
.method-inline-timing-warning{margin:0 8px 7px;padding:7px 9px;border:1px solid #e6a0a0;border-radius:9px;background:#fff3f3;color:#8c2626;font-weight:800;font-size:11.5px}
.method-timing-drawer-body .step-tips-head{align-items:flex-start!important;gap:10px!important}
.method-timing-drawer-body .tip-picker{display:grid!important;grid-template-columns:minmax(0,1fr) auto auto!important;gap:6px!important;width:100%!important}
.method-timing-drawer-body .method-alt-grid{grid-template-columns:1fr 1fr!important}
.method-timing-drawer-body .method-alt-full{grid-column:1/-1!important}
@media(max-width:980px){.method-compact-secondary{grid-template-columns:1fr 1fr}.method-summary-button:first-child{grid-column:1/-1}}
@media(max-width:700px){.method-compact-secondary{grid-template-columns:1fr}.method-summary-button:first-child{grid-column:auto}.method-timing-drawer-body .tip-picker,.method-timing-drawer-body .method-alt-grid{grid-template-columns:1fr!important}}


/* v1.15.56 — centred editors for Tips / Alternative ways and compact Preparation */
/* The original visible Method tips box remains as the modal source but is hidden on the step itself. */
.method-main-cell > .step-tips[data-method-panel="tips"]{display:none!important;}
.builder-centre-modal-body > .step-tips[data-method-panel="tips"]{display:block!important;}
body.builder-centre-modal-open{overflow:hidden;}
.builder-centre-modal{position:fixed;inset:0;z-index:12500;display:none;align-items:center;justify-content:center;padding:24px;}
.builder-centre-modal.open{display:flex;}
.builder-centre-modal-backdrop{position:absolute;inset:0;background:rgba(28,24,30,.40);backdrop-filter:blur(2px);}
.builder-centre-modal-sheet{position:relative;z-index:1;width:min(820px,94vw);max-height:min(82vh,820px);overflow:auto;background:#fffdfc;border:1px solid #e0d7e3;border-radius:18px;box-shadow:0 22px 70px rgba(38,25,42,.25);padding:16px;}
.builder-centre-modal-head{position:sticky;top:-16px;z-index:3;display:flex;align-items:center;justify-content:space-between;gap:12px;margin:-16px -16px 12px;padding:14px 16px 12px;background:#fffdfc;border-bottom:1px solid var(--line);}
.builder-centre-modal-head small{display:block;color:var(--muted);font-weight:800;text-transform:uppercase;letter-spacing:.06em;}
.builder-centre-modal-head h3{margin:2px 0 0;color:#602171;}
.builder-centre-modal-body>[data-method-panel],
.builder-centre-modal-body>[data-prep-panel]{display:block!important;margin:0!important;width:100%!important;box-sizing:border-box!important;}
.builder-centre-modal-body>.step-tips,
.builder-centre-modal-body>.method-alternatives,
.builder-centre-modal-body>.save-time-builder{padding:12px!important;border-radius:12px!important;}
.builder-centre-modal-body>.step-tips{background:#f8fbf6!important;border:1px solid #dce7d7!important;}
.builder-centre-modal-body>.method-alternatives{background:#f6f9fb!important;border:1px solid #dbe3e8!important;}
.builder-centre-modal-body>.save-time-builder{background:#fbf7fc!important;border:1px solid #decfe3!important;}
.builder-centre-modal-body .tip-picker{display:grid!important;grid-template-columns:minmax(0,1fr) auto auto!important;gap:7px!important;width:100%!important;}
.builder-centre-modal-body .method-alt-grid{grid-template-columns:1fr 1fr!important;}
.builder-centre-modal-body .method-alt-full{grid-column:1/-1!important;}
/* Preparation rows: show only compact summaries until the user asks to edit. */
.prep-compact-secondary{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin:6px 0 2px;}
.prep-save-time-summary-button{border:1px solid #d5bfdf;background:#f8f1fa;}
.prep-save-time-summary-button strong,.prep-save-time-summary-button em{color:#602171;}
.prep-popup-source{display:block!important;margin:0!important;width:auto!important;}
.prep-popup-source>[data-prep-panel]{display:none!important;}
.prep-main-cell>textarea{min-height:54px!important;}
/* keep Preparation timing warnings visible even while the editors are tucked away */
.prep-main-cell .row-timing-warning{margin:5px 0!important;}
@media(max-width:760px){
  .builder-centre-modal{padding:10px;}
  .builder-centre-modal-sheet{width:100%;max-height:90vh;border-radius:14px;}
  .builder-centre-modal-body .tip-picker,.builder-centre-modal-body .method-alt-grid{grid-template-columns:1fr!important;}
  .prep-compact-secondary{grid-template-columns:1fr;}
}


/* v1.15.57 — Release Manager: clear release access vs planning bundle controls */
.bundle-testing-row{grid-template-columns:18px minmax(180px,1.25fr) minmax(132px,.75fr) minmax(150px,.9fr) 112px 112px!important;align-items:end}
.bundle-pool-dot{font-size:22px;line-height:1;color:var(--brand);align-self:center;text-align:center}
.bundle-inline-control{display:grid;gap:3px;margin:0!important;font-size:10px;color:var(--muted);font-weight:800;text-transform:uppercase;letter-spacing:.03em}
.bundle-inline-control select{min-height:34px;padding:5px 8px;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--ink);font-size:12px;font-weight:750;text-transform:none;letter-spacing:0}
.bundle-pager{display:flex;align-items:center;justify-content:center;gap:12px;padding:10px 4px 2px;color:var(--muted);font-size:12px;font-weight:750}
.bundle-pager button{min-width:104px}.bundle-pager button:disabled{opacity:.4;cursor:not-allowed}
.bundle-recipe-list{max-height:none;overflow:visible}
@media(max-width:1180px){.bundle-testing-row{grid-template-columns:18px minmax(170px,1fr) minmax(125px,.72fr) minmax(145px,.85fr) 108px}.bundle-testing-row .bundle-open-recipe{grid-column:2/5;justify-self:end}}
@media(max-width:900px){.bundle-testing-row{grid-template-columns:18px minmax(150px,1fr) minmax(130px,.9fr)!important}.bundle-testing-row .bundle-inline-control:nth-of-type(2){grid-column:2/4}.bundle-testing-row .bundle-publish-toggle,.bundle-testing-row .bundle-open-recipe{grid-column:auto}.bundle-pager{flex-wrap:wrap}}


/* v1.15.58 — Testing restored as the first Release Manager category */
.bundle-manager-nav .bundle-testing-nav{margin-bottom:10px}
.bundle-manager-nav .bundle-testing-nav+ .bundle-nav-heading{margin-top:0}


/* v1.15.59 — cleaner Release Manager bundle membership + Testing candidates */
.bundle-view-section{display:grid;gap:8px;margin-top:12px;padding:11px;border:1px solid var(--line);border-radius:12px;background:#fbfbf9}
.bundle-view-section+.bundle-view-section{margin-top:14px}
.bundle-view-section-head{display:flex;align-items:center;justify-content:space-between;gap:10px}
.bundle-view-section-head h5{margin:0;font-size:15px;color:var(--brand-dark,var(--brand))}
.bundle-view-section-head span{font-size:12px;font-weight:850;color:var(--muted)}
.bundle-member-list,.bundle-candidate-list{display:grid;gap:5px}
.bundle-member-row,.bundle-release-row,.bundle-candidate-row{grid-template-columns:22px minmax(200px,1fr) minmax(120px,.7fr) 112px 112px!important}
.bundle-candidate-row{grid-template-columns:92px minmax(200px,1fr) minmax(145px,.8fr) 112px 112px!important;background:#f7fbf4}
.bundle-add-candidate{min-height:34px!important;padding:6px 10px!important;font-size:12px!important;white-space:nowrap}
.bundle-full-note{padding:12px;border:1px solid #c9d9c2;border-radius:10px;background:#f1f7ee;color:#315a2c;font-weight:750;line-height:1.4}
@media(max-width:1100px){.bundle-member-row,.bundle-release-row{grid-template-columns:22px minmax(170px,1fr) 108px 108px!important}.bundle-member-row .bundle-recipe-meta,.bundle-release-row .bundle-recipe-meta{display:none}.bundle-candidate-row{grid-template-columns:88px minmax(170px,1fr) 108px 108px!important}.bundle-candidate-row .bundle-recipe-meta{display:none}}
@media(max-width:760px){.bundle-member-row,.bundle-release-row{grid-template-columns:22px minmax(145px,1fr) auto!important}.bundle-member-row .bundle-open-recipe,.bundle-release-row .bundle-open-recipe{grid-column:2/4;justify-self:end}.bundle-candidate-row{grid-template-columns:80px minmax(145px,1fr) auto!important}.bundle-candidate-row .bundle-open-recipe{grid-column:2/4;justify-self:end}.bundle-view-section{padding:9px}}

/* v1.15.61 — private Kitchen Test workflow */
.kitchen-test-panel{margin:14px 0 18px;padding:16px 18px;border:2px solid #5b1665;border-radius:16px;background:linear-gradient(180deg,#fff 0,#fbf5fc 100%);box-shadow:0 5px 18px rgba(91,22,101,.08)}
.kitchen-test-head{display:flex;gap:18px;justify-content:space-between;align-items:flex-start}
.kitchen-test-head h3{margin:2px 0 5px;color:#5b1665}.kitchen-test-head p{margin:0;max-width:820px;color:#625a63;line-height:1.45}
.kitchen-test-kicker{font-size:11px;font-weight:900;letter-spacing:.08em;color:#8b5a91}
.kitchen-test-settings{margin-top:12px}.kitchen-test-settings summary{cursor:pointer;font-weight:800;color:#5b1665}
.kitchen-test-settings-grid{display:grid;grid-template-columns:1.3fr 1fr;gap:12px;margin-top:12px}
.kitchen-test-settings-grid label{font-weight:700}.kitchen-test-settings-grid input{width:100%;margin-top:5px}
.kitchen-test-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}
.kitchen-test-status{min-height:20px;margin-top:10px;font-size:13px;font-weight:700}.kitchen-test-status.ok{color:#35683d}.kitchen-test-status.error{color:#a12929}.kitchen-test-status.busy{color:#7a5b16}
@media(max-width:1100px){.kitchen-test-settings-grid{grid-template-columns:1fr}.kitchen-test-head{flex-direction:column}}

/* v1.15.62 — no visual redesign; method/timing persistence safety fix only */

/* v1.15.65 — keep recipe search inside the sidebar AND pinned to the top of that sidebar.
   v1.15.64 made it static, which allowed it to scroll completely out of view. */
.editor-sidebar>.editor-search-dock{position:sticky!important;top:0!important;z-index:20!important;margin:0 0 12px!important;padding:10px!important;box-shadow:0 5px 12px rgba(49,64,43,.07)!important;background:#f8faf7!important;}
.editor-sidebar>.editor-search-dock .editor-search-row{grid-template-columns:minmax(0,1fr) auto!important;}
.editor-sidebar>.editor-search-dock .editor-search{min-width:0!important;width:100%!important;}
.editor-sidebar>.editor-search-dock #clearEditorSearch{padding:9px 10px!important;}
/* v1.15.63 — Cooking Guide release visibility + quieter optional Save Time wording */
.bundle-release-breakdown{display:flex;gap:8px;flex-wrap:wrap;margin:8px 0 4px}
.bundle-release-breakdown span{display:inline-flex;gap:5px;align-items:center;padding:5px 8px;border:1px solid var(--line);border-radius:999px;background:#fff;font-size:12px;color:var(--muted)}
.bundle-content-type{display:inline-block;margin-left:6px;padding:2px 5px;border-radius:999px;font-size:9px;font-weight:900;letter-spacing:.06em;vertical-align:1px}
.bundle-content-type.recipe{background:#eee8f2;color:#5b1665}.bundle-content-type.guide{background:#e8f3ea;color:#35683d}
.bundle-guide-no-pod select:disabled{opacity:.7;background:#f3f3f1;color:#777}
.save-time-optional-wording{grid-column:1/-1;margin-top:2px;border:1px solid #decfe3;border-radius:10px;background:#fff}
.save-time-optional-wording>summary{cursor:pointer;padding:9px 10px;font-weight:800;color:#602171;list-style-position:inside}
.save-time-optional-wording>summary small{margin-left:6px;color:var(--muted);font-weight:650}
.save-time-optional-wording-body{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:start;padding:0 10px 10px}
.save-time-optional-wording-body textarea{min-height:68px;width:100%;box-sizing:border-box}
@media(max-width:760px){.save-time-optional-wording-body{grid-template-columns:1fr}.bundle-release-breakdown{gap:5px}}

/* v1.15.66 GIMI match value */
body .scaling-sheet select[data-match-role]{width:100%;min-width:0;border-radius:0!important;border:0!important;border-right:1px solid var(--line)!important;padding:8px!important;font-size:12px}.gimi-match-help{margin:8px 2px 0}


/* v1.15.67 — compact 10-column Ingredients layout after GIMI match field addition. */
#editorApp .ingredient-sheet.scaling-sheet{min-width:1000px!important}
#editorApp .scaling-sheet .ingredient-sheet-head,
#editorApp .scaling-sheet .ingredient-sheet-row{grid-template-columns:36px 58px 68px 84px minmax(180px,1.35fr) minmax(140px,1fr) 76px 96px 110px 140px!important;min-width:1000px!important}
#editorApp .scaling-sheet .ingredient-sheet-head span{padding:8px 4px!important;font-size:11px!important}
#editorApp .scaling-sheet .main-radio{padding:6px 3px!important;gap:3px!important;font-size:11px!important}
#editorApp .scaling-sheet select[data-match-role]{font-size:11px!important;padding:6px 4px!important}
#editorApp .scaling-sheet select[data-scale-mode]{font-size:11px!important;padding:6px 4px!important}
#editorApp .scaling-sheet .ingredient-actions-builder{gap:2px!important;padding:3px!important}
#editorApp .scaling-sheet .ingredient-actions-builder button{padding:5px 6px!important}

/* v1.15.69 — high-to-low heat transition graphic */
.heat-turn-down-choice{width:112px;min-width:112px;height:36px;padding:2px 6px!important;overflow:hidden;background:#fff}
.heat-turn-down-choice img{display:block;width:100%;height:100%;object-fit:contain;pointer-events:none}

/* v1.15.72 — error-only QA and Daily Mix */
.error-badge,.timing-error-badge{font-size:9px;line-height:1;border-radius:999px;padding:4px 6px;white-space:nowrap;font-weight:900;letter-spacing:.03em}.error-badge{background:#fff1e6;color:#8a4d18;border:1px solid #edc99f}.timing-error-badge{background:#fde2e2;color:#8d1111;border:1px solid #d98989}.review-strip-errors .todo{background:#fff0ea;color:#8a3d20;border-color:#e4aa8e}.review-strip-errors:empty{display:none}.timing-issues-panel{display:none;margin:0 0 12px;padding:12px 14px;border:1px solid #d98989;border-radius:12px;background:#fff3f3;color:#761c1c}.timing-issues-panel.visible{display:block}.timing-issues-head{display:flex;gap:10px;align-items:baseline;flex-wrap:wrap;margin-bottom:8px}.timing-issues-head strong{font-size:14px}.timing-issues-head span{font-size:12px}.timing-issues-list{display:grid;gap:6px}.timing-issues-list button{display:grid;grid-template-columns:70px 1fr;gap:8px;text-align:left;border:1px solid #edc1c1;background:#fff;border-radius:9px;padding:8px 10px;color:#761c1c}.timing-issues-list button:hover{background:#fff8f8}.method-inline-timing-warning>div+div{margin-top:5px}.kitchen-test-bottom{margin-top:22px!important}.daily-content-head,.daily-content-row{display:grid;grid-template-columns:46px 100px minmax(280px,1.5fr) minmax(180px,.8fr) 130px 140px 42px;gap:8px;align-items:start}.daily-content-head{font-size:11px;font-weight:900;color:var(--muted);padding:0 10px 6px}.daily-content-list{display:grid;gap:8px;max-height:560px;overflow:auto}.daily-content-row{padding:10px;background:#fff;border:1px solid var(--line);border-radius:12px}.daily-content-row textarea{min-height:74px}.daily-enabled{display:flex;justify-content:center;padding-top:9px}.daily-enabled input{width:18px;height:18px}.daily-content-row button{width:36px!important;min-width:36px!important}.daily-content-manager .tip-manager-footer{margin-top:12px}@media(max-width:1100px){.daily-content-head{display:none}.daily-content-row{grid-template-columns:44px 100px 1fr 1fr}.daily-content-row [data-daily-audience],.daily-content-row [data-daily-category],.daily-content-row button{grid-column:auto}.daily-content-row textarea{grid-column:3 / -1}}

/* v1.15.73 — linked Cooking Guides inside Alternative ways */
.method-alt-guide-link select{width:100%;}
.method-alt-guide-note{border:1px solid #d9d0e6;background:#faf7fd;border-radius:10px;padding:10px 12px;color:#4f3c5c;line-height:1.4;}
.method-alt-guide-note strong{color:#5c2678;}


/* v1.15.76 — Ideas Board is now a centred popup; the active recipe stays underneath. */
body.ideas-board-open{overflow:hidden}
body.ideas-board-open .builder-top,
body.ideas-board-open .editor-search-dock,
body.ideas-board-open .editor-layout,
body.ideas-board-open .editor-actions,
body.ideas-board-open .editor-note{visibility:visible!important}
#ideasBoardPanel.hidden{display:none!important}
#ideasBoardPanel:not(.hidden){
 position:fixed!important;inset:0!important;z-index:10000!important;
 display:flex!important;align-items:flex-start!important;justify-content:center!important;
 overflow:auto!important;background:rgba(37,29,39,.46)!important;padding:38px 24px!important;
 font-family:inherit!important
}
#ideasBoardPanel .ideas-board-page{
 width:min(1100px,100%)!important;max-height:calc(100vh - 76px)!important;overflow:auto!important;
 margin:0!important;padding:22px!important;border-radius:20px!important;background:#f4f1e8!important;
 box-shadow:0 18px 60px rgba(30,20,32,.28)!important;border:1px solid rgba(255,255,255,.55)!important
}
#ideasBoardPanel .ideas-board-head{position:sticky;top:-22px;z-index:2;background:#f4f1e8;padding:2px 2px 14px;margin-bottom:10px}
#ideasBoardPanel .ideas-board-head h2{margin:2px 0 5px;color:var(--green)}
#ideasBoardPanel .ideas-board-paper{min-height:0!important;padding:26px 30px!important}
#ideasBoardPanel .ideas-board-autosave-note{margin:12px 0 0}
@media(max-width:760px){
 #ideasBoardPanel:not(.hidden){padding:12px!important}
 #ideasBoardPanel .ideas-board-page{max-height:calc(100vh - 24px)!important;padding:14px!important}
 #ideasBoardPanel .ideas-board-head{top:-14px;display:block}
 #ideasBoardPanel .ideas-board-head button{margin-top:10px}
 #ideasBoardPanel .ideas-board-paper{padding:18px 14px!important}
}

/* v1.15.76 — advisory distinct vegetable count. */
.veg-count-pill{
 display:inline-flex;align-items:center;justify-content:center;white-space:nowrap;
 margin-left:auto;padding:4px 9px;border-radius:999px;border:1px solid #d7c7a1;
 background:#fff8e7;color:#76591f;font:800 11px/1.2 system-ui,sans-serif
}
.veg-count-pill.is-target{background:#e8f2e3;border-color:#b8cfad;color:#3f6534}

/* v1.15.76 — equal-size flames for 3 flames → 1 flame. */
.heat-turn-down-choice{width:112px;min-width:112px;height:36px;padding:2px 5px!important;overflow:hidden;background:#fff}
.heat-turn-down-choice img{display:none!important}
.turn-down-heat-visual{display:flex;align-items:center;justify-content:center;gap:4px;width:100%;height:100%;white-space:nowrap}
.turn-down-flames{display:inline-flex;align-items:center;justify-content:center;gap:0}
.turn-down-flames>span{display:inline-flex;align-items:center;justify-content:center;width:15px;height:19px;font-size:15px;line-height:1}
.turn-down-arrow{display:inline-flex;align-items:center;justify-content:center;width:13px;font-size:16px;line-height:1;font-weight:900;color:#555}


/* v1.15.77 — master Equipment checklist at the top of Preparation. */
.prep-equipment-block{margin:0 0 14px;padding:13px 14px;border:1px solid #d5dfd0;border-radius:13px;background:#f7faf5}
.prep-equipment-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;margin-bottom:9px}
.prep-equipment-head>div{display:grid;gap:3px}
.prep-equipment-head strong{color:var(--green);font-size:14px}
.prep-equipment-head span{font-size:12px;color:var(--muted)}
.prep-equipment-count{white-space:nowrap!important;border:1px solid var(--line);border-radius:999px;padding:4px 8px;background:#fff;font-weight:800!important;color:var(--green)!important}
.prep-equipment-options{margin:5px 0 7px}
.washing-equipment-summary{display:flex;align-items:flex-start;gap:7px;flex-wrap:wrap;margin:10px 0;padding:9px 11px;border-radius:10px;background:#f6f8f4;border:1px solid var(--line);font-size:12px}
.washing-equipment-summary strong{color:var(--green)}
.washing-equipment-summary span{color:var(--muted)}
@media(max-width:760px){.prep-equipment-head{display:grid}.prep-equipment-count{justify-self:start}}

/* v1.15.77 — softer, warm evening palette. */
.builder-colour-toggle{white-space:nowrap;flex:0 0 auto}
body.builder-evening{
 --ink:#403a38;--muted:#766d68;--paper:#e9e3da;--card:#f4eee6;--brand:#88717f;--brand2:#8d9ba5;
 --accent:#ddd4cb;--line:#cec4ba;--green:#68776a;--blue:#d9dfe1;--shadow:0 8px 22px rgba(58,48,46,.10);
 background:linear-gradient(180deg,#d8d2c9 0,#e1dcd4 330px,#ebe6de 620px)!important;color:var(--ink)!important
}
body.builder-evening .panel,
body.builder-evening .builder-banner,
body.builder-evening .builder-section-card,
body.builder-evening .content-type-block,
body.builder-evening .prep-equipment-block,
body.builder-evening .method-row,
body.builder-evening .prep-row,
body.builder-evening .tip-manager-card,
body.builder-evening .daily-content-row{background:#f3ede5!important;border-color:#cec4ba!important;box-shadow:0 5px 16px rgba(58,48,46,.07)!important}
body.builder-evening .editor-actions button,
body.builder-evening .editor-file-label,
body.builder-evening button.secondary,
body.builder-evening input,
body.builder-evening textarea,
body.builder-evening select,
body.builder-evening .equipment-option,
body.builder-evening .trait-option,
body.builder-evening .intolerance-option,
body.builder-evening .diet-suitability-option{background:#f8f2ea!important;color:#403b39!important;border-color:#ccc1b7!important}
body.builder-evening .editor-recipe-button.active{background:#ddd8cf!important;color:#536254!important}
body.builder-evening .scaling-setup-note,
body.builder-evening .washing-equipment-summary,
body.builder-evening .method-heat-builder{background:#eee9e1!important}
body.builder-evening .builder-banner{background:#eee8df!important}
body.builder-evening .editor-sidebar{background:#f1ebe3!important}
body.builder-evening .editor-workspace{background:#eee8df!important}
body.builder-evening .ideas-board-paper{filter:brightness(.94) saturate(.75)}
body.builder-evening .error-badge,
body.builder-evening .timing-error-badge,
body.builder-evening .timing-issues-panel,
body.builder-evening .prep-timing-warning{filter:saturate(.72) brightness(.96)}


/* =======================================================================
   BUILDER 2.0 — softer workbench redesign
   Functional layout/data behaviour remains inherited from v1.15.77.
   ======================================================================= */
:root{
 --ink:#3f3b38;
 --muted:#776f69;
 --paper:#ebe6df;
 --card:#f7f2ea;
 --brand:#765d70;
 --brand2:#9aa7a0;
 --accent:#dfd7cd;
 --line:#d2c9bf;
 --green:#6f7f70;
 --blue:#dce2e1;
 --shadow:0 9px 24px rgba(61,52,48,.08);
 --radius:16px;
}
html{background:#ded8d0}
body{
 background:linear-gradient(180deg,#d9d3cb 0,#e5e0d8 280px,#ebe6df 600px)!important;
 color:var(--ink)!important;
}
.builder-top{max-width:1520px!important;margin:16px auto 0!important;padding:0 20px!important}
.builder-banner{
 position:relative!important;overflow:hidden!important;
 display:grid!important;grid-template-columns:auto 1fr!important;column-gap:18px!important;align-items:center!important;
 padding:18px 22px!important;border:1px solid #cbbfb8!important;border-radius:18px!important;
 background:linear-gradient(120deg,#eee7df 0,#f5f0e9 58%,#e2e5df 100%)!important;
 box-shadow:0 8px 22px rgba(55,45,42,.08)!important;
}
.builder-banner:before{content:'2';display:flex;align-items:center;justify-content:center;width:60px;height:60px;grid-row:1/5;border-radius:17px;background:#766071;color:#f8f2ea;font:700 34px/1 Georgia,serif;box-shadow:inset 0 0 0 1px rgba(255,255,255,.22)}
.builder-banner .eyebrow{color:#766071!important;letter-spacing:.14em!important;font-size:10px!important}
.builder-banner h1{font-size:31px!important;line-height:1!important;margin:2px 0 4px!important;color:#4e4744!important}
.builder-banner p{font-size:12px!important;margin:2px 0!important;color:#77706b!important}
.builder-banner p:last-child{font-size:11px!important;color:#887f78!important}
#editorApp{max-width:1520px!important;margin:12px auto!important;padding:0 20px!important}

.editor-shell{padding:14px 16px!important;background:#eee8e0!important;border-color:#cfc5bb!important;border-radius:18px!important;box-shadow:0 8px 22px rgba(58,48,45,.07)!important}
.editor-header{align-items:center!important;padding:3px 2px 11px!important;border-bottom:1px solid #d5cbc1!important;margin-bottom:10px!important}
.editor-header h2{font-size:25px!important;color:#504846!important;margin-bottom:2px!important}
.editor-header .meta{font-size:11px!important}
.builder-colour-toggle{background:#e7dfd7!important;border-color:#cabdb7!important;color:#5f5358!important;padding:8px 11px!important}

.editor-actions{gap:6px!important;margin-bottom:8px!important}
.editor-actions button,.editor-file-label{padding:7px 9px!important;border-radius:9px!important;background:#f6f0e8!important;border-color:#cec3ba!important;font-size:11px!important;font-weight:720!important;box-shadow:none!important}
.editor-actions button:hover,.editor-file-label:hover{background:#eee7df!important;border-color:#bcaea5!important}

.editor-layout{grid-template-columns:minmax(225px,265px) minmax(850px,1fr)!important;gap:12px!important}
.editor-sidebar{top:10px!important;border-radius:14px!important;background:#e7e4dc!important;border:1px solid #cdc6bc!important;padding:11px!important;box-shadow:none!important}
.editor-search-dock{background:#e7e4dc!important;padding-bottom:8px!important}
.editor-search-row input{background:#f6f1ea!important;border-color:#cbc1b8!important}
.editor-search-row button{background:#ddd7d0!important}
.editor-list{border-top:1px solid #cec7be!important;padding-top:5px!important}
.editor-recipe-button{padding:9px 8px!important;font-size:12px!important;border-bottom-color:#d5cec5!important;border-radius:8px!important;margin-bottom:2px!important}
.editor-recipe-button:hover{background:#efebe5!important}
.editor-recipe-button.active{background:#ded8d1!important;color:#5b4d57!important;box-shadow:inset 4px 0 0 #806879!important}

.editor-workspace{background:#ece7df!important;border:1px solid #d0c7be!important;border-radius:14px!important;padding:12px!important;box-shadow:none!important}
.editor-form{color:#45403d!important}
.builder-section-card{border:1px solid #d3cac0!important;background:#f7f2eb!important;border-radius:13px!important;padding:13px 14px!important;margin-bottom:10px!important;box-shadow:0 2px 5px rgba(50,43,40,.025)!important}
.section-card-heading{padding-bottom:7px!important;margin-bottom:8px!important;border-bottom-color:#e0d8d0!important;align-items:center!important}
.section-card-heading h3{font-size:18px!important;color:#554d49!important}
.section-card-heading small{font-size:10px!important;color:#867c75!important}

input,textarea,select{background:#fbf7f1!important;border-color:#d3c9bf!important;color:#433e3b!important}
.editor-form input,.editor-form textarea,.editor-form select{padding:8px 9px!important;border-radius:8px!important;font-size:12px!important}
.editor-form label{font-size:10px!important;color:#786e68!important;margin:9px 0 4px!important}
button{transition:background .12s ease,border-color .12s ease,transform .12s ease}
button:hover{transform:none!important}

.prep-equipment-block{background:#ecefe8!important;border-color:#ccd4c8!important;border-radius:11px!important;padding:11px 12px!important}
.prep-equipment-head strong{color:#637363!important}
.equipment-option,.trait-option{background:#f5f1ea!important;border-color:#d3c9c0!important;padding:6px 8px!important;font-size:11px!important}
.equipment-option:has(input:checked),.trait-option:has(input:checked){background:#dde5da!important;border-color:#b8c5b4!important}

.ingredient-sheet,.method-sheet{border-color:#d0c7bd!important;background:#f9f5ef!important;border-radius:9px!important}
.ingredient-sheet-head,.method-sheet-head{background:#e7e4dc!important;color:#766e68!important}
.sheet-number{background:#efebe5!important}
.ingredient-sheet-row>input,.ingredient-sheet-row>div>select,.ingredient-sheet-row>div>input{background:#fbf7f1!important}
.sheet-actions button,.note-sheet-row>button{background:#eee9e2!important;border-color:#d1c7be!important}

.review-strip .todo,.draft-badge,.published-badge,.error-badge,.timing-error-badge,.veg-count-pill{filter:saturate(.75)!important}
.review-strip{gap:5px!important}
.review-strip .todo{font-size:10px!important;padding:5px 7px!important}
.veg-count-pill{background:#eee8dc!important;color:#6b5b40!important;border-color:#d5c8ac!important}
.veg-count-pill.is-target{background:#dde7da!important;color:#51684f!important;border-color:#bdccb8!important}

.tip-manager-panel:not(.hidden),.bundle-manager-panel:not(.hidden),#dailyContentManagerPanel:not(.hidden),#ingredientStandardsPanel:not(.hidden),#archiveManagerPanel:not(.hidden){background:#ece7df!important;border-color:#d0c6bc!important}
.daily-content-row{background:#f7f2eb!important}
.ideas-board-page{background:#e9e2da!important}
.ideas-board-paper{background-color:#f7f1e8!important;filter:saturate(.78)!important}

.washing-equipment-summary,.washing-suggestion,.scaling-setup-note,.method-heat-builder{background:#efebe4!important;border-color:#d5ccc3!important}
.method-row,.prep-row{background:#f8f3ec!important;border-color:#d4cac1!important}

/* Evening mode is a further-softened variant rather than a black theme. */
body.builder-evening{
 --ink:#d8d0c8;--muted:#afa39a;--paper:#373231;--card:#413a38;--brand:#ad8da4;--brand2:#879793;--accent:#514744;--line:#5b514d;--green:#93a492;--blue:#485456;
 background:linear-gradient(180deg,#2d2928 0,#342f2e 300px,#3a3432 650px)!important;color:var(--ink)!important
}
body.builder-evening .builder-banner{background:linear-gradient(120deg,#3d3635,#463d3a 58%,#38413d)!important;border-color:#5b4e4b!important}
body.builder-evening .builder-banner h1{color:#e7ddd5!important}
body.builder-evening .builder-banner p,body.builder-evening .builder-banner .eyebrow{color:#b8aaa1!important}
body.builder-evening .builder-banner:before{background:#8d7185!important;color:#f2e7df!important}
body.builder-evening .editor-shell,body.builder-evening .editor-workspace,body.builder-evening .builder-section-card,body.builder-evening .panel{background:#3d3735!important;border-color:#5b514d!important;color:#ddd4cc!important}
body.builder-evening .editor-sidebar{background:#353332!important;border-color:#55504c!important}
body.builder-evening .editor-search-dock{background:#353332!important}
body.builder-evening input,body.builder-evening textarea,body.builder-evening select,body.builder-evening .editor-actions button,body.builder-evening .editor-file-label,body.builder-evening button.secondary,body.builder-evening .equipment-option,body.builder-evening .trait-option{background:#4a423f!important;color:#e2d9d1!important;border-color:#655953!important}
body.builder-evening .editor-recipe-button{color:#d0c7c0!important;border-bottom-color:#514b48!important}
body.builder-evening .editor-recipe-button.active{background:#50464a!important;color:#eadfe6!important;box-shadow:inset 4px 0 0 #b08da5!important}
body.builder-evening .prep-equipment-block,body.builder-evening .washing-equipment-summary,body.builder-evening .washing-suggestion,body.builder-evening .scaling-setup-note,body.builder-evening .method-heat-builder{background:#403c38!important;border-color:#5d5751!important}
body.builder-evening .equipment-option:has(input:checked),body.builder-evening .trait-option:has(input:checked){background:#4a5649!important;border-color:#71816f!important}
body.builder-evening .ingredient-sheet,body.builder-evening .method-sheet,body.builder-evening .method-row,body.builder-evening .prep-row,body.builder-evening .daily-content-row{background:#433c39!important;border-color:#5b514d!important}
body.builder-evening .ingredient-sheet-head,body.builder-evening .method-sheet-head,body.builder-evening .sheet-number{background:#383431!important;color:#b8aea6!important}
body.builder-evening .ingredient-sheet-row>input,body.builder-evening .ingredient-sheet-row>div>select,body.builder-evening .ingredient-sheet-row>div>input{background:#4a423f!important}
body.builder-evening .section-card-heading{border-bottom-color:#574e4a!important}
body.builder-evening .section-card-heading h3{color:#e0d6ce!important}
body.builder-evening .section-card-heading small,body.builder-evening .editor-form label{color:#aca099!important}

@media(max-width:1050px){.editor-layout{min-width:1050px!important}}
\n\n/* Builder 2.5 — larger primary workbench controls for easier repeated use. */
.editor-actions{gap:10px 9px!important;margin-top:10px}
.editor-actions button,.editor-file-label{
 min-height:44px!important;padding:11px 16px!important;font-size:14px!important;line-height:1.15!important;
 border-radius:13px!important;display:inline-flex!important;align-items:center!important;justify-content:center!important
}
.editor-actions .editor-danger{min-height:44px!important}
@media(max-width:1100px){.editor-actions button,.editor-file-label{min-height:42px!important;padding:10px 14px!important;font-size:13px!important}}


/* Builder 2.7 — verified save feedback. */
.builder-save-status{
 margin-top:6px;display:inline-flex;align-items:center;min-height:24px;padding:3px 8px;
 border-radius:999px;border:1px solid var(--line);background:rgba(255,255,255,.5);
 color:var(--muted);font-size:11px;font-weight:700
}
.builder-save-status.saved{background:#e8f2e3;border-color:#a9c69e;color:#3f6838}
.builder-save-status.not-saved{background:#fff0e7;border-color:#d7a58c;color:#8a462f}
button.save-confirmed{
 background:#e4f1df!important;border-color:#94b88a!important;color:#315e2e!important;
 box-shadow:0 0 0 2px rgba(96,138,82,.10)!important
}
button.save-not-confirmed{
 background:#fff0e7!important;border-color:#d7a58c!important;color:#8a462f!important
}
body.builder-evening .builder-save-status{background:#e8e0d7}
body.builder-evening .builder-save-status.saved,
body.builder-evening button.save-confirmed{background:#dce8d8!important;color:#3f5d3d!important;border-color:#9fb198!important}
body.builder-evening .builder-save-status.not-saved,
body.builder-evening button.save-not-confirmed{background:#eadbd2!important;color:#7a4938!important;border-color:#b98e7a!important}


/* Builder 2.8 — Evening colours readability polish. Daytime colours unchanged. */
body.builder-evening{
 --evening-bg:#302b2a;--evening-panel:#3b3532;--evening-panel-soft:#463f3b;--evening-field:#4d4541;
 --evening-field-hover:#554c47;--evening-line:#756a62;--evening-line-strong:#9d8f84;--evening-text:#f2ece5;
 --evening-muted:#d6cbc1;--evening-faint:#c2b5aa;--evening-selected:#67564c;--evening-selected-line:#e2c1a4;
 background:var(--evening-bg)!important;color:var(--evening-text)!important
}
body.builder-evening .editor-shell,body.builder-evening .editor-workspace,body.builder-evening .builder-section-card,body.builder-evening .panel,
body.builder-evening .content-type-block,body.builder-evening .prep-equipment-block,body.builder-evening .method-row,body.builder-evening .prep-row,
body.builder-evening .ingredient-sheet,body.builder-evening .method-sheet,body.builder-evening .daily-content-row,body.builder-evening .tip-manager-card,
body.builder-evening .method-summary-button,body.builder-evening .method-timing-panel,body.builder-evening .method-alternatives,
body.builder-evening .photo-preview-box,body.builder-evening .photo-upload-controls{
 background:var(--evening-panel)!important;border-color:var(--evening-line)!important;color:var(--evening-text)!important;box-shadow:none!important
}
body.builder-evening .editor-sidebar,body.builder-evening .editor-search-dock,body.builder-evening .scaling-setup-note,
body.builder-evening .washing-equipment-summary,body.builder-evening .washing-suggestion,body.builder-evening .prep-sort-tools,
body.builder-evening .review-strip{background:var(--evening-panel-soft)!important;border-color:var(--evening-line)!important;color:var(--evening-text)!important}
body.builder-evening input,body.builder-evening textarea,body.builder-evening select{
 background:var(--evening-field)!important;color:var(--evening-text)!important;border-color:var(--evening-line-strong)!important;caret-color:var(--evening-text)!important
}
body.builder-evening input:hover,body.builder-evening textarea:hover,body.builder-evening select:hover{background:var(--evening-field-hover)!important}
body.builder-evening input::placeholder,body.builder-evening textarea::placeholder{color:var(--evening-faint)!important;opacity:1!important}
body.builder-evening .meta,body.builder-evening small,body.builder-evening .section-card-heading small,body.builder-evening .builder-banner p,
body.builder-evening .builder-banner .eyebrow,body.builder-evening .prep-equipment-head span,body.builder-evening .method-timing-title small{
 color:var(--evening-muted)!important
}
body.builder-evening label,body.builder-evening strong,body.builder-evening h1,body.builder-evening h2,body.builder-evening h3,body.builder-evening h4,
body.builder-evening summary,body.builder-evening .section-card-heading h3{color:var(--evening-text)!important}
body.builder-evening button.secondary,body.builder-evening .editor-actions button,body.builder-evening .editor-file-label,
body.builder-evening .equipment-option,body.builder-evening .trait-option,body.builder-evening .intolerance-option,body.builder-evening .diet-suitability-option{
 background:var(--evening-panel-soft)!important;color:var(--evening-text)!important;border-color:var(--evening-line-strong)!important
}
body.builder-evening .method-heat-builder{background:#423c38!important;border-color:var(--evening-line)!important;color:var(--evening-text)!important}
body.builder-evening .heat-choice{
 background:var(--evening-field)!important;color:#fff8f1!important;border:2px solid var(--evening-line-strong)!important;opacity:1!important
}
body.builder-evening .heat-choice:hover{background:var(--evening-field-hover)!important;border-color:#cfad90!important}
body.builder-evening .heat-choice.selected{
 background:var(--evening-selected)!important;color:#fffaf5!important;border:3px solid var(--evening-selected-line)!important;
 outline:none!important;box-shadow:0 0 0 3px rgba(226,193,164,.24)!important
}
body.builder-evening .turn-down-flames,body.builder-evening .turn-down-arrow{opacity:1!important;color:#fffaf5!important}
body.builder-evening .editor-recipe-button{color:#ded5ce!important;border-bottom-color:#5e5550!important}
body.builder-evening .editor-recipe-button.active{background:#5a4d55!important;color:#fff1fb!important;box-shadow:inset 4px 0 0 #d3abc8!important}
body.builder-evening .ingredient-sheet-head,body.builder-evening .method-sheet-head,body.builder-evening .sheet-number{background:#393431!important;color:#d1c5bc!important}

/* Builder 2.11 pre-pilot heat selector polish */
.heat-choice-row{flex-wrap:wrap!important;overflow:visible!important}
.heat-turn-down-choice{width:112px!important;min-width:112px!important;height:36px!important;padding:2px 5px!important;overflow:visible!important;background:#fff!important}
.heat-turn-down-choice img{display:block!important;width:100%!important;height:100%!important;object-fit:contain!important;pointer-events:none!important}
.heat-turn-down-choice .turn-down-heat-visual{display:none!important}
body.builder-evening .heat-turn-down-choice{background:#f1ece5!important;border-color:#756d65!important}


/* Builder 2.12 — search results are content-type aware: Cooking Guides do not show an author placeholder. */

/* Builder 2.13 — latest final timing/data sync; Builder UI otherwise unchanged. */

/* v3.9 audit control and full uncropped ingredient picture */
.audit-stage-panel{border:1px solid #a6b8ad;border-radius:12px;padding:14px 18px;background:#f3f8f3;display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin:10px 0 18px}
.audit-stage-panel>strong,.audit-stage-panel>.meta{width:100%;margin:0}.audit-stage-status{font-weight:600;padding:5px 10px;border-radius:8px;background:#e4eee5}
#editorAuditFilter{margin:10px 0;padding:10px;border:1px solid var(--line);border-radius:9px}#editorAuditFilter select{width:100%}
[data-section="ingredient-photo"] .photo-upload-grid{grid-template-columns:minmax(300px,2fr) minmax(180px,1fr);align-items:start}
[data-section="ingredient-photo"] .photo-preview-box{width:100%;height:auto;min-height:180px;max-height:none;overflow:visible;padding:12px;background:white}
[data-section="ingredient-photo"] .photo-preview-box img{width:100%;height:auto;max-height:none;object-fit:contain;display:block}
@media(max-width:750px){[data-section="ingredient-photo"] .photo-upload-grid{grid-template-columns:1fr}}
/* v3.14 Builder layout and Preparation controls */
.builder-top-publish{padding:12px 16px;margin:8px 0 12px;border:1px solid #c5b6db;border-radius:12px;background:#faf7ff;font-weight:700}
.editor-savebar{flex-wrap:wrap;align-items:center}.editor-savebar .audit-stage-panel{flex:1 1 100%;margin:4px 0;padding:12px;border-radius:12px}
.pooch-manual-add,.prep-countdown-setup{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:10px 0;padding:8px;background:#f8f7fa;border-radius:8px}.pooch-manual-add input{flex:1 1 100px;min-width:95px}.prep-countdown-setup label{font-size:12px;flex:1 1 110px}.prep-countdown-setup input{width:100%;box-sizing:border-box}

/* Builder 3.15.4: Basics title and relocated fields */
@import url("https://fonts.googleapis.com/css2?family=Kalam:wght@400;700&display=swap");
.builder-recipe-title{font-family:"Kalam","GIMI Kalam",cursive!important;font-size:clamp(1.65rem,2.5vw,2.4rem)!important;color:#70258e;line-height:1.2;margin:0}
.builder-inline-photo,.builder-inline-serving{margin:18px 0;padding:16px;border:1px solid #dad2df;border-radius:12px;background:#fcfafc}
.builder-inline-photo h4,.builder-inline-serving h4{margin:0 0 10px;font-size:1.1rem}


/* v3.15.22 — Evening/Night Colours: all manager surfaces use one dark contrast system.
   These rules intentionally follow the historic day-mode manager CSS and only affect evening mode. */
body.builder-evening{
 color-scheme:dark;
 --night-manager-panel:#393535;--night-manager-inset:#464040;--night-manager-card:#504948;
 --night-manager-border:#847873;--night-manager-text:#f6f0e9;--night-manager-muted:#ddd1c7;
 --night-manager-link:#eecdf0;
}
body.builder-evening .bundle-manager-panel:not(.hidden),body.builder-evening .tip-manager-panel:not(.hidden),
body.builder-evening #dailyContentManagerPanel:not(.hidden),body.builder-evening #ingredientStandardsPanel:not(.hidden),
body.builder-evening #archiveManagerPanel:not(.hidden),body.builder-evening .daily-content-manager,
body.builder-evening .kitchen-test-panel,body.builder-evening .kitchen-test-settings,
body.builder-evening .audit-stage-panel,body.builder-evening .builder-top-publish,
body.builder-evening .builder-inline-photo,body.builder-evening .builder-inline-serving,
body.builder-evening .step-scan-panel,body.builder-evening .tip-manager-card,
body.builder-evening .prep-countdown-setup,body.builder-evening .pooch-manual-add,
body.builder-evening .editor-note,body.builder-evening .works-with-block,
body.builder-evening .step-ingredients-fieldset{
 background:var(--night-manager-panel)!important;color:var(--night-manager-text)!important;
 border-color:var(--night-manager-border)!important;box-shadow:none!important;
}
body.builder-evening .bundle-manager-nav,body.builder-evening .bundle-manager-main,
body.builder-evening .bundle-view-section,body.builder-evening .bundle-recipe-row,
body.builder-evening .bundle-member-row,body.builder-evening .bundle-release-row,
body.builder-evening .bundle-candidate-row,body.builder-evening .bundle-testing-row,
body.builder-evening .bundle-overlap-row,body.builder-evening .bundle-full-note,
body.builder-evening .bundle-rule,body.builder-evening .bundle-category-summary,
body.builder-evening .bundle-release-breakdown,body.builder-evening .bundle-summary-chip,
body.builder-evening .tip-library-row,body.builder-evening .tip-editor-row,
body.builder-evening .archive-row,body.builder-evening .daily-content-row,
body.builder-evening .gimi-audit-dialog,body.builder-evening .audit-manager-recipe,
body.builder-evening .audit-manager-stats span,body.builder-evening .audit-manager-notice,
body.builder-evening .step-scan-head,body.builder-evening .step-scan-actions,
body.builder-evening .ingredient-suggestion-actions,body.builder-evening .ingredient-suggestion-empty,
body.builder-evening .ingredient-suggestion-success,body.builder-evening .works-with-option,
body.builder-evening .step-ingredient-choice,body.builder-evening .method-card,
body.builder-evening .method-result,body.builder-evening .method-help-block,
body.builder-evening .audit-stage-status,body.builder-evening .kitchen-test-status{
 background:var(--night-manager-inset)!important;color:var(--night-manager-text)!important;
 border-color:var(--night-manager-border)!important;box-shadow:none!important;
}
body.builder-evening .bundle-recipe-row:hover,body.builder-evening .bundle-candidate-row:hover,
body.builder-evening .bundle-member-row:hover,body.builder-evening .bundle-release-row:hover,
body.builder-evening .bundle-manager-nav button:hover,
body.builder-evening .bundle-manager-nav button.active{
 background:#63575b!important;color:#fff9f5!important;border-color:#d2b4be!important;
}
body.builder-evening .bundle-manager-nav button{
 background:transparent!important;color:var(--night-manager-text)!important;border-color:transparent!important;
}
body.builder-evening .bundle-manager-nav button small,
body.builder-evening .bundle-target,body.builder-evening .bundle-target.warn,
body.builder-evening .bundle-target.ok,body.builder-evening .bundle-full-note{
 background:#61504a!important;color:#fff1dc!important;border-color:#ab8e81!important;
}
body.builder-evening .bundle-target.ok{background:#345748!important;color:#e8ffe9!important;border-color:#7eb49b!important}
body.builder-evening .bundle-publish-toggle,body.builder-evening .published-badge{filter:none!important}
body.builder-evening .bundle-recipe-name,body.builder-evening .bundle-manager-main-head h4,
body.builder-evening .bundle-view-section-head h5,body.builder-evening .bundle-nav-heading,
body.builder-evening .bundle-recipe-meta,body.builder-evening .bundle-view-section-head span,
body.builder-evening .audit-manager-head h2,body.builder-evening .audit-manager-recipe-head strong,
body.builder-evening .audit-manager-stats strong,body.builder-evening .tip-manager-head h3,
body.builder-evening .kitchen-test-head h3,body.builder-evening .kitchen-test-head p,
body.builder-evening .kitchen-test-kicker,body.builder-evening .step-scan-head strong,
body.builder-evening .step-scan-head small,body.builder-evening .audit-manager-recipe-head small{
 color:var(--night-manager-text)!important;
}
body.builder-evening .bundle-recipe-meta,body.builder-evening .bundle-view-section-head span,
body.builder-evening .meta,body.builder-evening .audit-manager-recipe-head small{
 color:var(--night-manager-muted)!important;
}
body.builder-evening .audit-manager-stats span{color:var(--night-manager-muted)!important}
body.builder-evening .audit-manager-notice{border-left:4px solid #ddbd7f!important}
body.builder-evening .audit-manager-recipe .audit-item{border-top-color:var(--night-manager-border)!important}
body.builder-evening .audit-error .audit-item-type{color:#ffb4b5!important}
body.builder-evening .audit-warning .audit-item-type{color:#ffda9a!important}
body.builder-evening .audit-review .audit-item-type{color:#f6c9ff!important}
body.builder-evening select,body.builder-evening select option,body.builder-evening input,
body.builder-evening textarea{color:var(--night-manager-text)!important;background-color:#4f4744!important;border-color:#988780!important}
body.builder-evening input::placeholder,body.builder-evening textarea::placeholder{color:#d6c7bb!important;opacity:1!important}
body.builder-evening .bundle-open-recipe,body.builder-evening .bundle-add-candidate,
body.builder-evening .audit-open-button,body.builder-evening .step-scan-button{
 color:#fff6f1!important;background:#6e526b!important;border-color:#ae91ae!important;
}
body.builder-evening .bundle-membership-check input,body.builder-evening .bundle-recipe-row input,
body.builder-evening .bundle-candidate-row input{accent-color:#d7a7d1}
body.builder-evening .ideas-board-page{background:#332e30!important;color:var(--night-manager-text)!important}
body.builder-evening .ideas-board-paper,body.builder-evening .ideas-board-note,
body.builder-evening .ideas-board-autosave-note{background:#48403c!important;background-image:none!important;color:#fff2e5!important;border-color:#88766c!important}
body.builder-evening .ideas-board-paper *:not(input):not(textarea):not(button){color:inherit}
body.builder-evening .tips-panel,body.builder-evening .tips-content{
 color:var(--night-manager-text)!important;background:var(--night-manager-inset)!important;border-color:var(--night-manager-border)!important
}
body.builder-evening .builder-save-status{background:#49403d!important;color:#f9f0e8!important;border-color:#8a7c74!important}
/* v3.15.24 — true 1980s green-screen night mode. No light or grey UI surfaces.
   All rules scoped to the existing persisted Evening mode; Day mode is unchanged.
   Photos, media, heat illustrations and SVG artwork keep their original pixels. */
body.builder-evening{
 color-scheme:dark;
 --ink:#a9f5a0;--muted:#71b978;--paper:#020602;--panel:#071107;
 --card:#081509;--brand:#b9ff9f;--brand-dark:#c4ffb3;--brand2:#63b76c;
 --accent:#071b0a;--line:#275d31;--green:#84e483;--blue:#164b23;
 --night-manager-panel:#071107;--night-manager-inset:#0b1b0d;
 --night-manager-card:#0d2511;--night-manager-border:#377a42;
 --night-manager-text:#a9f5a0;--night-manager-muted:#76c27b;--night-manager-link:#d6ffb9;
 background:#020602!important;color:#a9f5a0!important;
}
/* The legacy managers contain hard-coded white, cream and grey backgrounds in inline
   markup. Strip those *only in night mode* before applying intentional panel levels. */
body.builder-evening :is(div,section,article,aside,main,header,footer,nav,details,summary,fieldset,dialog,table,thead,tbody,tr,td,th,ul,li,p,form,label,span){
 background-color:transparent!important;background-image:none!important;
 color:#a9f5a0!important;
}
body.builder-evening :is(h1,h2,h3,h4,h5,h6,strong,b,small,em,legend,dt,dd,a){color:#c3ffb0!important}
body.builder-evening :is(.meta,.eyebrow,.section-card-heading small,.builder-progress-hint,.builder-save-status,.bundle-recipe-meta,.bundle-view-section-head span,.bundle-nav-heading small,.editor-note){color:#79c27b!important}
body.builder-evening :is(.builder-banner,.editor-shell,.editor-workspace,.editor-sidebar,.editor-top-results,.panel,
 .builder-section-card,.gimi-audit-dialog,.bundle-manager-panel,.bundle-manager-nav,.bundle-manager-main,
 .tip-manager-panel,.daily-content-manager,.ideas-board-page,.ideas-board-paper,
 .kitchen-test-panel,.audit-stage-panel,.builder-inline-photo,.builder-inline-serving,
 .review-strip,.editor-savebar,.editor-note,.builder-top-search,.tip-manager-card,
 .bundle-view-section,.bundle-overlap-row,.archive-manager-panel,.backup-manager-panel,
 .content-type-block,.prep-equipment-block,.prep-countdown-setup){
 background:#071107!important;background-image:none!important;color:#a9f5a0!important;
 border-color:#285d31!important;box-shadow:none!important;
}
body.builder-evening :is(.ingredient-sheet,.method-sheet,.method-row,.prep-row,.ingredient-sheet-row,
 .method-sheet-row,.ingredient-sheet-head,.method-sheet-head,.sheet-number,.step-scan-panel,
 .bundle-recipe-row,.bundle-member-row,.bundle-release-row,.bundle-candidate-row,.bundle-testing-row,
 .bundle-full-note,.bundle-rule,.bundle-category-summary,.bundle-release-breakdown,
 .bundle-summary-chip,.bundle-target,.bundle-target.ok,.bundle-target.warn,
 .audit-manager-recipe,.audit-manager-stats span,.audit-manager-notice,.audit-stage-status,
 .audit-issues,.audit-errors-top,.builder-save-status,.tips-content,.tip-manager-card,
 .tip-editor-row,.archive-row,.daily-content-row,.method-result,.method-card,
 .step-scan-head,.step-scan-actions,.step-ingredient-choice,.works-with-option,
 .intolerance-block,.diet-suitability-block,.intolerance-option,.diet-suitability-option,
 .equipment-option,.trait-option,.scaling-setup-note,.washing-equipment-summary,
 .washing-suggestion,.photo-preview-box,.photo-upload-grid,.editor-top-result,.review-strip .todo,
 .builder-top-publish,.bundle-publish-toggle,.bundle-nav-heading,.ideas-board-note,
 .ideas-board-autosave-note,.method-timing-drawer,.method-popover,.method-help-block,
 .method-heat-builder,.timing-settings,.tip-library-row){
 background:#0b1b0d!important;background-image:none!important;color:#a9f5a0!important;
 border-color:#316a3b!important;box-shadow:none!important;
}
body.builder-evening :is(input,select,select option,textarea,button,.editor-file-label,
 .bundle-manager-nav button,.editor-top-result,.audit-item button){
 background:#091b0a!important;background-image:none!important;color:#b6ff9f!important;
 border:1px solid #347c3b!important;box-shadow:none!important;text-shadow:none!important;
}
body.builder-evening :is(button,.editor-file-label,.bundle-manager-nav button,.audit-open-button):hover,
body.builder-evening :is(.editor-recipe-button,.bundle-recipe-row,.bundle-candidate-row):hover{
 background:#163c19!important;color:#e2ffd2!important;border-color:#68ce74!important;
}
body.builder-evening :is(button,.editor-file-label,input,select,textarea,summary):focus-visible{
 outline:2px solid #d5ffb7!important;outline-offset:2px!important;
}
body.builder-evening :is(input,textarea)::placeholder{color:#6eb67a!important;opacity:1!important}
body.builder-evening :is(input[type="checkbox"],input[type="radio"]){accent-color:#9be784!important}
body.builder-evening :is(.editor-recipe-button.active,.bundle-manager-nav button.active,
 .equipment-option:has(input:checked),.trait-option:has(input:checked)){
 background:#103315!important;color:#d7ffbe!important;border-color:#60ba6a!important;
}
body.builder-evening :is(.editor-header h2,.builder-banner h1,.section-card-heading h3,
 .builder-section-card[data-section="basics"] .builder-recipe-title,
 .bundle-manager-main-head h4,.bundle-view-section-head h5,.audit-manager-head h2,
 .audit-manager-recipe-head strong,.audit-manager-stats strong){color:#bfffac!important}
body.builder-evening :is(.editor-header,.section-card-heading,.bundle-recipe-row,.audit-manager-recipe .audit-item,
 .editor-list,.editor-recipe-button,.bundle-member-row){border-color:#316a3b!important}
body.builder-evening :is(.builder-save-status.saved,.bundle-target.ok,.published-badge){background:#103315!important;color:#b7ffa3!important;border-color:#5fbb63!important}
body.builder-evening :is(.builder-save-status.not-saved,.audit-errors-top,.audit-issues,.error-badge,.audit-error .audit-item-type){
 background:#1e0d08!important;color:#ffaf7b!important;border-color:#9d5633!important;
}
body.builder-evening :is(.draft-badge,.timing-error-badge,.audit-warning .audit-item-type,.bundle-target.warn){
 background:#201709!important;color:#ffcf81!important;border-color:#99753b!important;
}
body.builder-evening :is(.audit-open-button,.bundle-open-recipe,.bundle-add-candidate,
 .step-scan-button,.editor-actions button.primary,button.primary){background:#0e3013!important;color:#c9ffb1!important;border-color:#59bb60!important}
body.builder-evening :is(.method-step-jump,a,.editor-list-heading){color:#c9ffb1!important}
body.builder-evening :is(.editor-note,.intolerance-warning,.audit-manager-notice,.builder-progress-hint){border-left-color:#65ba6e!important}
body.builder-evening ::selection{background:#24612c;color:#f2ffe4}
body.builder-evening :disabled{opacity:.55!important}
/* Recipe-specific progress bar — no meter appears inside the Audit Manager. */
.builder-recipe-progress{padding:16px 18px;margin:0 0 15px;background:#f5f9f2;border:1px solid #bbd7b5;border-radius:14px;scroll-margin-top:220px}
.builder-progress-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:10px}
.builder-progress-head>div{display:flex;flex-direction:column;gap:3px;min-width:0}
.builder-progress-eyebrow{font-size:10px;font-weight:800;letter-spacing:.11em;color:#357844}
.builder-progress-name{font-size:17px;color:#37523c;overflow-wrap:anywhere}
.builder-progress-pct{font-size:27px;line-height:1;color:#287839;font-variant-numeric:tabular-nums}
.builder-progress-track{height:15px;border:1px solid #aacaa7;border-radius:99px;overflow:hidden;background:#dce9d8}
.builder-progress-fill{height:100%;background:#398e43;border-radius:99px;transition:width .4s ease}
.builder-progress-hint{margin:8px 0 0;font-size:12px;color:#4a6952}
body.builder-evening .builder-recipe-progress{background:#061408!important;border:1px solid #357740!important;color:#b5ff9e!important}
body.builder-evening .builder-progress-eyebrow{color:#86d482!important}
body.builder-evening .builder-progress-name,body.builder-evening .builder-progress-pct{color:#cbffb7!important}
body.builder-evening .builder-progress-track{background:#020702!important;border-color:#397d42!important}
body.builder-evening .builder-progress-fill{background:#83e578!important;box-shadow:0 0 10px #4dbd5a80!important}
body.builder-evening .builder-progress-hint{color:#7fc483!important}
@media(prefers-reduced-motion:reduce){.builder-progress-fill{transition:none}}
