:root{--brand-header-bg: linear-gradient(135deg, #131F39 0%, #1c2d52 100%);--brand-header-text: #FFFFFF;--brand-navy: #131F39;--brand-steel-blue: #234F6C;--brand-taupe: #78766A;--brand-tomato-red: #DF3E34;--brand-sand-cream: #DED7C5;--brand-charcoal: #2B2D2C;--white: #FFFFFF;--body-text: #2B2D2C;--tomato-jam: #DF3E34;--tomato-jam-hover: #c8332a;--pale-slate: #78766A;--light-bg: #f7f5f0;--border-color: #dcd6c8;--card-shadow: 0 8px 24px -4px rgba(19,31,57,.06), 0 2px 6px -1px rgba(19,31,57,.03);--card-shadow-hover: 0 14px 28px -4px rgba(19,31,57,.1);--food-theme-bg: linear-gradient(135deg, #ab4b44 0%, #c45851 100%);--food-theme-badge-bg: #f9ebe9;--food-theme-badge-text: #8f2821;--bev-theme-bg: linear-gradient(135deg, #386380 0%, #4a7796 100%);--bev-theme-badge-bg: #e8f1f6;--bev-theme-badge-text: #193d54;--brand-purple: #6d28d9;--brand-purple-hover: #5b21b6;--brand-purple-bg: #ede9fe;--brand-purple-border: #c4b5fd;--brand-copy: #0d9488;--brand-copy-hover: #0f766e;--brand-copy-bg: #ccfbf1;--brand-copy-border: #5eead4;--brand-missing: #c2410c;--brand-missing-bg: #ffedd5;--brand-missing-border: #fdba74;--surface-warm: #f7f4ee}*{box-sizing:border-box}body{font-family:Plus Jakarta Sans,system-ui,sans-serif;-webkit-font-smoothing:antialiased;background-color:var(--light-bg);background-image:radial-gradient(at 0% 0%,rgba(223,62,52,.03) 0px,transparent 50%),radial-gradient(at 100% 0%,rgba(35,79,108,.04) 0px,transparent 50%);background-attachment:fixed;padding:0 24px 24px;margin:0;min-height:100vh;color:var(--body-text);font-size:13px}body[data-company=esplanade]{--brand-header-bg: linear-gradient(135deg, #131F39 0%, #1c2d52 100%)}body[data-company=piccolo]{--brand-header-bg: linear-gradient(135deg, #00338D 0%, #002d86 100%);--brand-navy: #00338D;--brand-steel-blue: #7A7771;--brand-tomato-red: #81252E;--tomato-jam: #81252E;--tomato-jam-hover: #631b23;--light-bg: #F2F3EA;--border-color: #d2d4c5}body[data-company=no7balmac]{--brand-header-bg: linear-gradient(135deg, #1B1917 0%, #494441 100%);--brand-navy: #1B1917;--brand-steel-blue: #555555;--brand-tomato-red: #1B1917;--tomato-jam: #1B1917;--tomato-jam-hover: #33302d;--light-bg: #f4f4f4;--border-color: #dcdcdc}body[data-company=sorella]{--brand-header-bg: linear-gradient(135deg, #612C38 0%, #6a303e 100%);--brand-navy: #612C38;--brand-steel-blue: #63454D;--brand-tomato-red: #E39F61;--tomato-jam: #E39F61;--tomato-jam-hover: #cb8b52;--light-bg: #E0DEC7;--border-color: #B3A19D}button,select,input,textarea{font-family:inherit}.sticky-top-wrapper{position:sticky;top:0;z-index:200;margin:0 -24px;padding:0 24px;background:var(--light-bg)}header{background:var(--brand-header-bg);color:var(--brand-header-text);padding:14px 26px;border-radius:0 0 14px 14px;display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;box-shadow:0 12px 28px -8px #131f394d;border:1px solid rgba(255,255,255,.15)}header h1{font-size:1.65rem;font-weight:800;letter-spacing:-.025em;margin:0}header .sub{font-size:.78rem;opacity:.75}.header-controls{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.header-controls input[type=text]{min-width:200px}.area-switch{display:inline-flex;align-items:center;gap:6px;padding:6px 13px;border-radius:9999px;font-size:.78rem;font-weight:700;letter-spacing:.02em;text-decoration:none;cursor:pointer;color:#fff;border:1px solid rgba(255,255,255,.5);background:transparent}.area-switch svg{width:14px;height:14px;display:block}.area-switch svg path{fill:currentColor}.area-switch:hover{background:#ffffff26;transform:translateY(-1px)}.area-switch.on{background:#fff;color:var(--brand-navy);border-color:#fff}.sync-status-badge{font-size:.78rem;background:#ffffff1f;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);padding:5px 12px;border-radius:9999px;font-weight:700;color:#ffffffe6;border:1px solid rgba(255,255,255,.18)}.sync-status-badge.is-loading{animation:pulse-border 1.5s infinite ease-in-out}.sync-status-badge.err{color:#fca5a5}@keyframes pulse-border{0%,to{opacity:1}50%{opacity:.5}}.quick-links-bar{display:flex;flex-wrap:wrap;gap:6px;padding:8px 0 10px;align-items:center}.quick-link-pill{border-radius:9999px;font-size:.75rem;font-weight:700;padding:5px 12px;background:#fff;border:1px solid var(--border-color);color:var(--brand-navy);cursor:pointer;box-shadow:0 1px 3px #00000014;text-decoration:none}.quick-link-pill:hover{transform:translateY(-1px)}.quick-link-pill.active{background:var(--brand-steel-blue);color:#fff;border-color:var(--brand-steel-blue)}.quick-link-pill.sort-pill{display:inline-flex;align-items:center;gap:5px}.quick-link-pill svg{width:14px;height:14px;display:block}.quick-link-pill svg path{fill:currentColor}.pill-sep{width:1px;height:18px;background:var(--border-color);margin:0 3px;align-self:center}.quick-link-top{background:var(--brand-navy);color:#fff}.search-row{padding:2px 0 10px}.search-row input[type=text]{width:100%;max-width:440px}.content-spacer{height:20px}.container{display:flex;flex-direction:column;gap:22px;max-width:1100px;margin:0 auto;position:relative}.container .card{scroll-margin-top:170px}.card{background:var(--white);border:1px solid var(--border-color);border-radius:14px;padding:24px;box-shadow:var(--card-shadow);transition:box-shadow .25s ease}.card:hover{box-shadow:var(--card-shadow-hover)}.category-section{border:1px solid var(--border-color);border-radius:12px;overflow:hidden;scroll-margin-top:120px;margin-bottom:18px}.category-header{padding:14px 20px;display:flex;justify-content:space-between;align-items:center;color:#fff;background:var(--food-theme-bg)}.category-header h2{font-size:1.1rem;font-weight:800;letter-spacing:-.01em;margin:0}.category-badge{font-size:.72rem;border-radius:9999px;font-weight:800;text-transform:uppercase;letter-spacing:.05em;background:#fff3;padding:3px 10px}.cat-chev{font-size:.8rem;color:#ffffffe6}.table-wrapper{overflow-x:auto}table{width:100%;border-collapse:separate;border-spacing:0;font-size:.85rem}th,td{padding:9px 12px;border-bottom:1px solid var(--border-color);border-right:1px solid var(--border-color);vertical-align:middle;text-align:left}th:last-child,td:last-child{border-right:none}tbody tr:last-child td{border-bottom:none}th{background:#f3efe6;color:var(--brand-navy);font-weight:700;font-size:.78rem;text-transform:uppercase;letter-spacing:.03em;border-top:1px solid var(--border-color)}tbody tr:nth-child(2n) td{background:#faf8f5}tbody tr:hover td{background:#faf8f5}button{background-color:var(--brand-tomato-red);color:#fff;border:none;padding:9px 16px;font-weight:700;border-radius:8px;box-shadow:0 2px 6px #00000026;transition:all .2s ease;cursor:pointer;font-size:.85rem}button:hover{background-color:var(--tomato-jam-hover);transform:translateY(-1px)}button.btn-secondary{background:var(--brand-navy)}button.btn-ghost{background:#fff;border:1px solid var(--border-color);color:var(--brand-navy);box-shadow:none}button.btn-outline{background:transparent;border:1px solid rgba(255,255,255,.5);color:#fff;box-shadow:none}button.btn-danger{background:#dc2626}button.btn-small{padding:5px 10px;font-size:.78rem;border-radius:6px}button:disabled{opacity:.5;cursor:default;transform:none}input[type=text],input[type=date],input[type=number],select,textarea{padding:7px 12px;border:1px solid var(--pale-slate);border-radius:6px;font-size:.85rem;color:var(--body-text);background:#faf8f5;transition:border-color .2s,box-shadow .2s}:is(input,select,textarea):focus{outline:none;border-color:var(--brand-tomato-red);background:#fff;box-shadow:0 0 0 3px #df3e3426}.badge{border-radius:9999px;font-weight:800;font-size:.68rem;text-transform:uppercase;letter-spacing:.04em;padding:3px 10px;display:inline-block}.badge-dish{background:var(--food-theme-badge-bg);color:var(--food-theme-badge-text)}.badge-yield{background:var(--bev-theme-badge-bg);color:var(--bev-theme-badge-text)}.badge-archived{background:#eee;color:#666}.badge-arch{background:#fbeadd;color:#a8541c;display:inline-flex;align-items:center;gap:5px}.badge-arch svg{width:11px;height:11px}.badge-arch svg path{fill:currentColor}.badge-imp{background:var(--brand-purple-bg);color:var(--brand-purple);display:inline-flex;align-items:center;gap:5px}.badge-imp svg{width:11px;height:11px}.badge-imp svg path{fill:currentColor}.gap-badge{width:20px;height:20px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;border:1px solid transparent}.gap-badge svg{width:12px;height:12px;display:block}.gap-badge.ok{background:#eee;color:#666}.gap-badge.miss{background:var(--brand-missing-bg);border-color:var(--brand-missing-border);color:var(--brand-missing)}.cat-head{display:flex;align-items:baseline;gap:6px;font-size:.85rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--brand-navy);background:#f3efe6;border-radius:8px;padding:8px 12px;margin-top:14px}.cat-head .cat-n{color:var(--pale-slate);font-weight:700}.sec-ico{width:15px;height:15px;flex-shrink:0}.sec-ico path{fill:currentColor}@property --snake-ang{syntax: "<angle>"; initial-value: 0deg; inherits: false;}.snake-btn{position:relative;z-index:0}.snake-btn:before{content:"";position:absolute;top:-3px;right:-3px;bottom:-3px;left:-3px;border-radius:11px;padding:2px;z-index:-1;background:conic-gradient(from var(--snake-ang),var(--brand-purple),rgba(109,40,217,.12) 35%,var(--brand-purple-hover) 55%,rgba(109,40,217,.12) 75%,var(--brand-purple));-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);mask-composite:exclude;animation:snake-spin 1.4s linear infinite;pointer-events:none}@keyframes snake-spin{to{--snake-ang: 360deg}}.badge-kw{background:#f3efe6;color:var(--brand-navy);text-transform:none;letter-spacing:0;font-weight:600}.badge-kw.dupe-off{background:var(--brand-copy-bg);color:var(--brand-copy);border:1px dashed var(--brand-copy-border);cursor:pointer}.badge-kw.dupe-off:hover{background:var(--brand-copy-border);transform:translateY(-1px)}button.badge{font-size:.68rem;box-shadow:none;padding:3px 10px}.recipe-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:14px}.recipe-card{border:1px solid var(--border-color);border-radius:12px;overflow:hidden;cursor:pointer;background:#fff;transition:box-shadow .2s,transform .2s}.recipe-card:hover{box-shadow:var(--card-shadow-hover);transform:translateY(-2px)}.recipe-card img{width:100%;height:140px;object-fit:cover;display:block;background:#f3efe6}.recipe-card .rc-body{padding:12px 14px}.recipe-card h3{margin:0 0 6px;font-size:1rem;font-weight:800;color:var(--brand-navy);letter-spacing:-.01em}.recipe-card .rc-meta{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:6px}.recipe-card .rc-kw{font-size:.75rem;color:var(--pale-slate)}.rg-group+.rg-group{margin-top:18px}.rg-head{display:flex;align-items:center;gap:8px;margin:0 0 10px;padding-bottom:5px;border-bottom:1px solid var(--border-color)}.rg-label{text-transform:uppercase;font-weight:800;letter-spacing:.08em;font-size:.78rem;color:var(--brand-navy)}.rg-count{font-size:.7rem;font-weight:700;color:var(--pale-slate);background:#f3efe6;border-radius:999px;padding:1px 8px}.badge-parts{background:#fff;color:var(--brand-navy);border:1px solid var(--border-color);cursor:pointer;box-shadow:0 1px 3px #0000000f}.badge-parts:hover{background:#f3efe6;border-color:var(--brand-steel-blue);transform:translateY(-1px)}.badge-parts.is-open{background:var(--brand-navy);color:#fff;border-color:var(--brand-navy)}.rc-parts{margin-top:8px;padding-top:8px;border-top:1px dashed var(--border-color);display:flex;flex-direction:column;gap:4px}.rc-part{display:flex;align-items:baseline;gap:5px;flex-wrap:wrap;font-size:.76rem}.rc-part-name{background:transparent;border:none;border-radius:0;box-shadow:none;padding:0 3px;margin:0 -3px;font:inherit;font-weight:700;text-align:left;cursor:pointer;color:var(--brand-navy);border-bottom:1px dotted var(--pale-slate)}.rc-part-name:hover{background:#263d511a;color:var(--brand-steel-blue);border-bottom-color:var(--brand-steel-blue);transform:none}.rc-part-name.is-static{cursor:default;border-bottom:none;background:transparent}.rc-part-meta{color:var(--pale-slate)}.rc-part-shared{font-size:.7rem;font-weight:700;color:var(--brand-steel-blue)}.r-title{text-transform:uppercase;font-size:1.7rem;font-weight:800;letter-spacing:.01em;color:var(--brand-navy);margin:0 0 4px}.r-dishline{font-size:.85rem;color:var(--pale-slate);font-weight:600;margin-bottom:12px}.r-photo{max-width:100%;max-height:320px;border-radius:10px;margin:10px 0;object-fit:cover}.r-makes{text-align:center;text-transform:uppercase;font-weight:800;letter-spacing:.08em;border-top:2px solid var(--brand-navy);border-bottom:2px solid var(--brand-navy);padding:8px;margin:16px 0;font-size:1rem;color:var(--brand-navy)}.r-h{text-transform:uppercase;font-weight:800;letter-spacing:.08em;font-size:1.05rem;color:var(--brand-navy);margin:18px 0 8px;border-bottom:2px solid var(--brand-navy);padding-bottom:4px}.r-ing-table td.qty{font-weight:800;white-space:nowrap;width:110px;text-align:right;color:var(--brand-navy)}.r-ing-table td{font-size:1rem;padding:6px 10px}.r-print-cols{display:block}.r-col-left,.r-col-right{min-width:0}.r-ing-table tr.ing-div td{padding:3px 0;border-bottom:none}.r-ing-table tr.ing-div+tr td{border-top:none}.ing-div-line{height:0;border-top:2px solid var(--brand-navy)}.r-ing-table tr.ing-sec td{padding:12px 10px 4px;border-bottom:none;font-weight:800;color:var(--brand-navy)}.r-ing-table tr.ing-sec+tr td{border-top:none}.yield-b{display:none;margin-top:6px}.r-ing-table tr.ing-yield td{border-bottom:2px solid var(--brand-navy);font-weight:800;color:var(--brand-navy);text-transform:uppercase;letter-spacing:.06em}.r-method ol{margin:0;padding-left:22px}.r-method li{margin-bottom:6px;line-height:1.45;font-size:1rem}.r-method .method-div{border-top:2px solid var(--brand-navy);margin:10px 0;height:0}.r-method .method-sec{font-weight:700;color:var(--brand-navy);padding-left:22px;margin:12px 0 6px}.r-notes{font-size:.88rem;line-height:1.55;color:#444;white-space:pre-wrap}.r-footer{margin-top:18px;font-size:.75rem;color:var(--pale-slate);border-top:1px solid var(--border-color);padding-top:8px;display:flex;gap:16px;flex-wrap:wrap}.scale-bar{display:flex;gap:6px;align-items:center;flex-wrap:wrap;background:#faf8f5;border:1px solid var(--border-color);border-radius:10px;padding:10px 12px;margin:12px 0}.scale-bar .lbl{font-weight:800;font-size:.78rem;color:var(--brand-navy);text-transform:uppercase;letter-spacing:.04em}.scale-btn.active{background:var(--brand-steel-blue)}.linked-strip{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}.ing-row{display:grid;grid-template-columns:26px 84px 92px minmax(0,1fr) auto auto auto auto;gap:6px;margin-bottom:6px;align-items:center}.ing-row input,.ing-row select{min-width:0;width:100%}.ing-row input[type=number]{text-align:right}.ing-row.is-div input[data-k=qty],.ing-row.is-div input[data-k=item],.ing-row.is-sec input[data-k=qty]{opacity:.35}.conv-hint{font-size:.78rem;color:var(--pale-slate);margin:-2px 0 8px 26px}.ing-row [data-del-ing]:hover{background:#dc2626;border-color:#dc2626;color:#fff;transform:none}.ing-row.is-nested input[data-k=item]{font-weight:700;color:var(--brand-navy);background:var(--surface-warm)}.ing-row .nest-name{width:100%;min-width:0;text-align:left;font-family:inherit;font-size:.85rem;font-weight:700;color:var(--brand-navy);background:var(--surface-warm);border:1px solid var(--pale-slate);border-radius:6px;padding:7px 12px;box-shadow:none;transform:none;cursor:pointer;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ing-row .nest-name:hover{background:#fff;border-color:var(--brand-tomato-red);transform:none}.ing-row .nest-name.is-miss{color:var(--pale-slate);cursor:default;background:#faf8f5}.ing-row .nest-name.is-miss:hover{border-color:var(--pale-slate)}.ing-row.is-cost .nest-name{background:#eddbb7}.ing-note{font-size:.78rem;color:var(--pale-slate);margin:-2px 0 8px 26px}.ing-note.miss{color:#c0392b}.ing-link{color:var(--brand-navy);font-weight:700;text-decoration:none;border-bottom:1px dotted var(--pale-slate)}.ing-link:hover{color:var(--brand-tomato-red)}.nest-list{max-height:320px;overflow:auto;margin-top:8px;border:1px solid var(--border-color);border-radius:8px}.nest-pick{display:block;width:100%;text-align:left;background:none;border:none;border-bottom:1px solid var(--border-color);padding:8px 10px;cursor:pointer;font:inherit}.nest-pick:last-child{border-bottom:none}.nest-pick b{display:block;color:var(--brand-navy)}.nest-pick span{font-size:.78rem;color:var(--pale-slate)}.nest-pick:hover{background:var(--surface-warm)}.nest-pick.is-staged{box-shadow:inset 3px 0 0 var(--brand-steel-blue)}.nest-pick.is-staged b,.nest-pick.is-staged span{color:var(--brand-steel-blue)}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.form-grid .full{grid-column:1 / -1}label.f{font-size:.78rem;font-weight:700;color:var(--brand-navy);text-transform:uppercase;letter-spacing:.03em;display:block;margin:10px 0 4px}.req{padding:0 8px 4px;margin:0 -8px;border:1px solid transparent;border-radius:10px}.req-missing{background:var(--brand-missing-bg);border-color:var(--brand-missing-border)}.req-missing>label.f{color:var(--brand-missing)}.req-missing>label.f:after{content:" · required";letter-spacing:.02em}.req-missing input,.req-missing select,.req-missing textarea{border-color:var(--brand-missing-border)}.admin-list-row{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:8px 0;border-bottom:1px solid var(--border-color)}.tabs{display:flex;gap:6px}.tabs button.active{background:#fff;color:var(--brand-navy)}.empty{text-align:center;color:var(--pale-slate);padding:40px 20px;font-size:.9rem}.local-banner{background:#fff8e6;border:1px solid #e8c547;border-radius:8px;padding:8px 12px;font-size:.8rem;margin-bottom:12px}.costing-details{border:1px solid var(--border-color);border-radius:10px;margin-top:18px;background:#fff}.costing-details summary{cursor:pointer;padding:9px 14px;font-size:.82rem;font-weight:600;color:var(--brand-navy);list-style:none;display:flex;justify-content:space-between;align-items:center;gap:8px}.costing-details summary::-webkit-details-marker{display:none}.costing-details summary .chev{color:var(--pale-slate);font-size:.75rem}.costing-details .costing-body{padding:0 14px 14px}.costing-details table{font-size:.8rem}.costing-foot{display:flex;justify-content:flex-end;gap:24px;padding:10px 12px 2px;font-weight:800;color:var(--brand-navy)}.prep-ico{display:inline-block;vertical-align:-2px;margin-left:5px;color:var(--brand-steel-blue)}.costing-legend{font-size:.75rem;color:var(--pale-slate);margin-top:8px}.costing-meta{font-size:.78rem;color:var(--pale-slate);margin-top:8px;display:flex;gap:8px;align-items:center;flex-wrap:wrap}.badge-pick{display:flex;gap:6px;flex-wrap:wrap}.badge-pick .pick{border-radius:9999px;font-size:.75rem;font-weight:800;letter-spacing:.04em;padding:6px 13px;background:#fff;border:1px solid var(--border-color);color:var(--brand-navy);cursor:pointer;box-shadow:none;text-transform:uppercase;display:inline-flex;align-items:center;gap:6px}.badge-pick .pick.active{background:var(--brand-steel-blue);color:#fff;border-color:var(--brand-steel-blue)}.badge-pick .pick:hover{transform:translateY(-1px)}.badge-pick .pick-new{background:var(--brand-tomato-red);border-color:var(--brand-tomato-red);color:#fff}.badge-pick .pick-new:hover{background:var(--tomato-jam-hover)}.ico-btn{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;background:#fff;border:1px solid var(--border-color);border-radius:8px;box-shadow:none;cursor:pointer}.ico-btn[hidden]{display:none}.ico-btn svg{width:18px;height:18px}.ico-btn svg path{fill:var(--brand-navy)}.ico-btn:hover{background:#f3efe6;transform:translateY(-1px)}.ico-btn.danger svg path{fill:#dc2626}.ico-btn.danger:hover{background:#dc2626;border-color:#dc2626}.ico-btn.danger:hover svg path{fill:#fff}.ico-btn.warn svg path{fill:#c26a1b}.ico-btn.warn:hover{background:#fbeadd;border-color:#e8c39a}.ico-btn.warn:hover svg path{fill:#a8541c}.ico-btn.labeled{width:auto;height:auto;padding:7px 12px;gap:7px;font-size:.8rem;font-weight:700;color:var(--brand-navy)}.ico-btn.primary{background:#4e8a74;border-color:#4e8a74;color:#fff}.ico-btn.primary svg path{fill:#fff}.ico-btn.primary:hover{background:#406f5e}.ico-btn.primary-p{background:var(--brand-purple);border-color:var(--brand-purple);color:#fff}.ico-btn.primary-p svg path{fill:#fff}.ico-btn.primary-p:hover{background:var(--brand-purple-hover)}.ico-btn.tint-g svg path{fill:#4e8a74}.ico-btn.tint-g:hover{background:#4e8a7424;border-color:#4e8a7466}.ico-btn.tint-p svg path{fill:var(--brand-purple)}.ico-btn.tint-p:hover{background:var(--brand-purple-bg);border-color:var(--brand-purple-border)}.ico-btn.tint-p:hover svg path{fill:var(--brand-purple-hover)}.ico-btn.copy svg path{fill:var(--brand-copy)}.ico-btn.copy:hover{background:var(--brand-copy-bg);border-color:var(--brand-copy-border)}.ico-btn.copy:hover svg path{fill:var(--brand-copy-hover)}.ico-btn.stroke svg path{fill:none;stroke:var(--brand-navy);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.ico-btn.on{background:var(--brand-steel-blue);border-color:var(--brand-steel-blue)}.ico-btn.on svg path{fill:#fff}.ico-btn.on:hover{background:var(--brand-steel-blue)}.ico-btn.loaded{background:#eddbb7;border-color:#eddbb7}.ico-btn.loaded svg path{fill:#263d51}.ico-btn.loaded:hover{background:#e4cfa4}a.ico-btn{text-decoration:none}.ico-btn:disabled,.ico-btn:disabled:hover{opacity:.4;cursor:default;transform:none;background:#fff;border-color:var(--border-color);box-shadow:none}.ico-btn:disabled svg path{fill:var(--pale-slate)}.scale-btn{background:#fff;border:1px solid var(--border-color);color:var(--brand-navy);box-shadow:none}.scale-btn:hover{background:#f3efe6;transform:translateY(-1px)}.scale-btn.active{background:var(--brand-steel-blue);border-color:var(--brand-steel-blue);color:#fff}.scale-btn.active:hover{background:var(--brand-steel-blue)}.pick svg{width:12px;height:12px}.pick svg path{fill:currentColor}.brand-logo{height:40px;width:40px;border-radius:10px;object-fit:cover}#tabToggle{display:inline-flex;align-items:center;gap:7px}#tabToggle svg{width:16px;height:16px}#tabToggle svg path{fill:#fff}.brand-wrap{display:flex;align-items:center;gap:12px}.yield-grid{display:grid;grid-template-columns:18px minmax(0,1.2fr) minmax(0,1fr);gap:8px 8px;align-items:center}.yield-grid .yield-ico{display:flex;align-items:center;justify-content:center;color:var(--pale-slate)}.yield-grid .yield-ico svg{width:16px;height:16px;display:block}.yield-grid .yield-ico.is-b svg path{fill:currentColor}.yield-hint{min-width:0;font-size:.78rem}.yield-info{color:var(--pale-slate)}.yield-actions{display:flex;gap:6px;flex-wrap:wrap;margin-top:5px;align-items:center}.dish-read{display:flex;gap:6px;align-items:center;flex-wrap:wrap;min-height:22px;margin-top:2px}.state-card{margin:0;box-shadow:none;border-style:dashed;padding:14px 16px}.state-card:hover{box-shadow:none}.state-title{margin:0;display:flex;align-items:center;gap:7px;font-size:.82rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--brand-navy)}.state-title .sec-ico{width:16px;height:16px}.state-note{font-size:.78rem;color:var(--pale-slate)}.state-actions{margin-top:10px;display:flex;gap:6px;align-items:center;flex-wrap:wrap}.req-toggle{margin-top:12px;padding-top:12px;border-top:1px dashed var(--border-color);display:flex;gap:8px;align-items:center;flex-wrap:wrap}.edit-cols{display:grid;grid-template-columns:minmax(0,1fr) 230px;gap:14px;align-items:start}.edit-cols .edit-side{min-width:0}.scale-div{width:1px;align-self:stretch;background:var(--border-color);margin:2px 4px}@media(max-width:760px){.edit-cols{grid-template-columns:minmax(0,1fr)}}.veil{position:fixed;top:0;right:0;bottom:0;left:0;z-index:150;background:#f7f5f0b8;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);display:flex;align-items:center;justify-content:center}.veil-inner{background:#fff;border-radius:14px;padding:22px 30px;display:flex;flex-direction:column;gap:10px;font-weight:700;color:var(--brand-navy);box-shadow:var(--card-shadow-hover);min-width:260px}.veil-row{display:flex;align-items:center;gap:12px}.veil-spin{width:22px;height:22px;border-radius:50%;border:3px solid var(--border-color);border-top-color:var(--brand-tomato-red);animation:veil-spin .8s linear infinite;flex-shrink:0}@keyframes veil-spin{to{transform:rotate(360deg)}}.veil-progress{width:100%;height:6px;border-radius:3px;background:var(--border-color);overflow:hidden}.veil-bar{height:100%;width:0%;background:var(--brand-tomato-red);transition:width .2s ease}.veil-count{font-size:.78rem;font-weight:600;color:var(--brand-navy);opacity:.7}.save-spin{width:14px;height:14px;border-radius:50%;border:2px solid var(--border-color);border-top-color:var(--brand-tomato-red);animation:veil-spin .8s linear infinite;flex-shrink:0}.badge-saving{background:#f3efe6;color:var(--brand-navy);display:inline-flex;align-items:center;gap:6px}.badge-miss{background:var(--brand-missing-bg);border:1px solid var(--brand-missing-border);color:var(--brand-missing);text-transform:none;letter-spacing:0}.badge-changed{background:var(--brand-missing-bg);color:var(--brand-missing)}.badge-new{background:var(--brand-copy-bg);color:var(--brand-copy)}.badge-state-ok{background:#4e8a7424;border:1px solid rgba(78,138,116,.5);color:#2f5f4e}.badge-state-warn{background:#c26a1b1f;border:1px solid #e8c39a;color:#a8541c}.badge-state-new{background:var(--brand-purple-bg);border:1px solid var(--brand-purple-border);color:var(--brand-purple)}.badge-loaded-ok{background:#eddbb7;color:#263d51}.badge-drift{background:var(--brand-missing-bg);border:1px solid var(--brand-tomato-red);color:var(--brand-tomato-red)}.loaded-state{text-transform:none;letter-spacing:0}.plan-panel{border:1px solid var(--brand-missing-border);background:var(--brand-missing-bg);border-radius:8px;padding:8px 10px;margin:8px 0}.plan-panel.done{border-color:#4e8a74;background:#4e8a741f}.plan-panel-head{font-size:.75rem;font-weight:800;color:var(--brand-missing);text-transform:uppercase;letter-spacing:.04em}.plan-panel-head.with-meta{display:flex;align-items:baseline;justify-content:space-between;gap:10px;flex-wrap:wrap}.plan-panel-meta{font-size:.72rem;font-weight:600;color:var(--pale-slate);text-transform:none;letter-spacing:0}.plan-panel.done .plan-panel-head{color:#4e8a74}.plan-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;flex-wrap:wrap;margin:0 0 8px}.plan-head h3.plan-title{display:flex;align-items:center;gap:8px;margin:0;color:var(--brand-navy);font-size:1.05rem;letter-spacing:.02em}.plan-head h3.plan-title svg{width:20px;height:20px;flex-shrink:0}.plan-head h3.plan-title svg path{fill:currentColor}.plan-now{text-align:right}.plan-now-name{font-size:1.05rem;font-weight:700;color:var(--brand-navy);line-height:1.3}.plan-now-yield{font-size:.84rem;margin-top:2px}.plan-line-ico{display:inline-block;vertical-align:-2px;margin-right:6px;color:var(--brand-steel-blue)}.conv-err{color:var(--brand-missing);font-size:.84rem}.plan-foot{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap;margin-top:6px}.plan-map{border-top:1px dashed var(--brand-missing-border);margin-top:6px;padding-top:6px}.plan-map-row{display:grid;grid-template-columns:minmax(140px,210px) 108px minmax(0,1fr);align-items:center;gap:6px 10px;margin-top:4px}.plan-map-name{line-height:1.25}.plan-map-row>.badge{white-space:nowrap;justify-self:start}.plan-map-row input{min-width:0}.plan-map-alts{grid-column:3;display:flex;flex-wrap:wrap;align-items:center;gap:6px}@media(max-width:600px){.plan-map-row{grid-template-columns:minmax(0,1fr)}.plan-map-alts{grid-column:1}}.map-alt-open{margin-top:4px;padding:0;background:none;border:0;border-bottom:1px dotted var(--pale-slate);font:inherit;font-size:.75rem;font-weight:700;color:var(--brand-navy);cursor:pointer}.map-alt-open:hover{color:var(--brand-tomato-red)}.plan-counts{display:flex;gap:6px;flex-wrap:wrap;align-items:center;margin-top:8px}.plan-actions{margin-top:16px}#planModal{z-index:900}.plan-veil{position:absolute;top:0;right:0;bottom:0;left:0;z-index:2;display:flex;align-items:center;justify-content:center;background:#131f3959}.badge-flash{background:#4e8a74;border-color:#4e8a74;color:#fff;box-shadow:0 0 0 6px #4e8a7473;transform:scale(1.12);transition:background .12s ease,color .12s ease,border-color .12s ease,box-shadow .12s ease,transform .12s ease}.badge-update,.badge-matched{background:#eddbb7;color:#263d51}.ico-btn.state-ok{background:#4e8a7424;border-color:#4e8a7480;color:#2f5f4e}.ico-btn.state-ok svg path{fill:#4e8a74}.ico-btn.state-ok:hover{background:#4e8a74;border-color:#4e8a74;color:#fff}.ico-btn.state-ok:hover svg path{fill:#fff}.ico-btn.state-warn{background:#c26a1b1f;border-color:#e8c39a;color:#a8541c}.ico-btn.state-warn svg path{fill:#c26a1b}.ico-btn.state-warn:hover{background:#c26a1b;border-color:#c26a1b;color:#fff}.ico-btn.state-warn:hover svg path{fill:#fff}.conv-frac{display:inline-flex;flex-direction:column;align-items:flex-start;margin-top:5px;font-size:.74rem;color:var(--pale-slate);line-height:1.25}.conv-frac span:first-child{padding-bottom:2px;border-bottom:1px solid var(--border-color)}.conv-frac span:last-child{padding-top:2px}tr.plan-blocked td{color:var(--pale-slate)}.badge-saving .save-spin{width:11px;height:11px}.admin-list-row.is-saving{opacity:.72}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;background:#131f3980;display:flex;align-items:center;justify-content:center;padding:20px}.modal-card{background:#fff;border-radius:14px;padding:22px;max-width:400px;width:100%;box-shadow:var(--card-shadow-hover)}.modal-card h3{margin:0 0 8px;color:var(--brand-navy);font-size:1.05rem}.modal-card p{margin:0 0 16px;color:#555;font-size:.88rem;white-space:pre-wrap}.ico-btn.has-unread{position:relative}.ico-btn.has-unread:after{content:"";position:absolute;top:3px;right:3px;width:9px;height:9px;border-radius:50%;background:#f59e0b;border:2px solid #fff}.modal-card.wide{max-width:920px;max-height:88vh;overflow-y:auto}.dev-inbox-head{display:flex;align-items:center;gap:8px;margin:0 0 10px;position:relative}.dev-inbox-close{position:absolute;top:10px;right:10px}.dev-inbox-head h3{margin:0}.dev-inbox-head svg{width:18px;height:18px;flex-shrink:0}.dev-inbox-head svg path{fill:var(--brand-navy)}.dev-inbox-shell{display:flex;min-height:360px;max-height:60vh;overflow:hidden;border:1px solid var(--border-color);border-radius:12px}.dev-inbox-tabs{display:flex;flex-direction:column;gap:6px;flex:0 0 255px;width:255px;min-width:0;padding:14px 10px;border-right:1px solid var(--border-color);background:#faf8f5;overflow-y:auto}.dev-inbox-tab{display:flex;flex-direction:column;gap:3px;text-align:left;background:#fff;border:1px solid var(--border-color);border-radius:8px;padding:9px 12px;font-family:inherit;font-size:.82rem;font-weight:700;color:var(--brand-navy);cursor:pointer;letter-spacing:.01em;transition:all .15s ease;box-shadow:none;transform:none}.dev-inbox-tab small{font-weight:500;font-size:.7rem;opacity:.7}.dev-inbox-tab:hover{background:#fff;transform:translateY(-1px);box-shadow:0 4px 10px #0000001f}.dev-inbox-tab.needs:not(.active){border-color:#f59e0b;background:#fffbeb}.dev-inbox-tab.needs:not(.active):hover{background:#fffbeb}.dev-inbox-tab.done:not(.active){border-color:#16a34a;background:#f0fdf4}.dev-inbox-tab.done:not(.active):hover{background:#f0fdf4}.dev-inbox-tab.active,.dev-inbox-tab.active:hover{background:var(--brand-navy);border-color:var(--brand-navy);color:#fff}.dev-inbox-tab.active small{color:#fffc;opacity:1}.dev-inbox-content{flex:1;min-width:0;padding:18px 20px;overflow-y:auto;background:#fff}.dev-inbox-content h4{margin:0 0 4px;font-size:1.05rem;font-weight:800;color:var(--brand-navy)}.dev-inbox-meta{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--brand-steel-blue);margin-bottom:12px}.dev-inbox-content ul{margin:0;padding-left:1.1rem;display:flex;flex-direction:column;gap:8px}.dev-inbox-content li{font-size:.88rem;line-height:1.5;color:var(--body-text)}.dev-inbox-content h5{margin:12px 0 6px;font-size:.92rem;font-weight:800;color:var(--brand-navy)}.dev-inbox-content h5:first-of-type{margin-top:4px}.dev-inbox-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:14px}@media(max-width:760px){.dev-inbox-shell{flex-direction:column;max-height:none}.dev-inbox-tabs{flex:0 0 auto;width:auto;flex-direction:row;overflow-x:auto;border-right:none;border-bottom:1px solid var(--border-color);padding:10px}.dev-inbox-tab{flex:0 0 auto;min-width:150px;max-width:220px}}.settings-card{max-width:780px;width:100%;padding:0;overflow:hidden;display:flex;flex-direction:column;max-height:88vh}.settings-head{display:flex;align-items:center;gap:8px;padding:18px 20px 10px}.settings-head svg{width:18px;height:18px;flex-shrink:0}.settings-head svg path{fill:var(--brand-navy)}.settings-head h3{margin:0;font-size:.95rem;font-weight:800;text-transform:uppercase;letter-spacing:-.01em;color:var(--brand-navy)}.settings-shell{display:flex;min-height:360px;overflow:hidden;border-top:1px solid var(--border-color);border-bottom:1px solid var(--border-color)}.settings-tabs{display:flex;flex-direction:column;gap:6px;flex:0 0 200px;width:200px;min-width:0;padding:14px 10px;border-right:1px solid var(--border-color);background:#faf8f5}.settings-tab{display:flex;align-items:center;gap:8px;text-align:left;background:#fff;border:1px solid var(--border-color);border-radius:12px;padding:9px 12px;font-family:inherit;font-size:.82rem;font-weight:700;color:var(--brand-navy);cursor:pointer;letter-spacing:.01em;transition:all .15s ease;box-shadow:none;transform:none}.settings-tab svg{width:16px;height:16px;display:block;flex-shrink:0}.settings-tab svg path{fill:currentColor}.settings-tab:hover{background:#fff;transform:translateY(-1px);box-shadow:0 4px 10px #131f391f}.settings-tab.active,.settings-tab.active:hover{background:var(--brand-navy);border-color:var(--brand-navy);color:#fff}.settings-content{flex:1;min-width:0;min-height:0;padding:16px 18px;overflow-y:auto;background:#fff}.settings-foot{display:flex;justify-content:flex-end;padding:12px 20px;background:#faf8f5}.settings-explainer{margin:0 0 12px;font-size:.85rem;line-height:1.45;color:var(--pale-slate)}.settings-box{border:1px solid var(--border-color);border-radius:12px;padding:16px 18px;margin:0 0 12px}.settings-box:last-child{margin-bottom:0}.settings-box h4{margin:0 0 8px;font-size:.9rem;font-weight:800;color:var(--brand-navy)}.settings-quiet{margin:0;font-size:.78rem;line-height:1.45;color:var(--pale-slate)}.kv-headline{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap}.kv-headline strong{font-size:2.1rem;line-height:1;font-weight:800;letter-spacing:-.03em;color:var(--brand-navy)}.kv-headline-k{font-size:.85rem;font-weight:700;color:var(--pale-slate)}.kv-pct{margin-left:auto;font-size:.8rem;font-weight:800;color:var(--brand-steel-blue)}.kv-bar{position:relative;height:10px;margin-top:14px;border-radius:9999px;background:#f3efe6;overflow:hidden}.kv-bar-fill{position:absolute;top:0;bottom:0;left:0;border-radius:9999px;background:var(--brand-steel-blue);transition:width .3s ease}.kv-mark{position:absolute;top:0;bottom:0;width:1px;background:#131f3947}.kv-mark-end{background:#131f3980}.kv-scale{position:relative;height:14px;margin-top:4px;font-size:.66rem;font-weight:700;color:var(--pale-slate)}.kv-scale span{position:absolute;transform:translate(-50%);white-space:nowrap}.kv-scale span:last-child{transform:translate(-100%)}.kv-band{margin:10px 0 0;font-size:.82rem;font-weight:700;color:var(--brand-navy)}.kv-advice{margin:8px 0 0;font-size:.8rem;line-height:1.45;color:#a8541c}.settings-box.is-warn .kv-bar-fill{background:#c26a1b}.settings-box.is-warn .kv-pct{color:#a8541c}.settings-box.is-critical .kv-bar-fill{background:#dc2626}.settings-box.is-critical .kv-pct{color:#b91c1c}.kv-facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(100px,1fr));gap:10px}.kv-facts>div{display:flex;flex-direction:column;gap:2px;min-width:0}.kv-fact-k{font-size:.68rem;font-weight:800;text-transform:uppercase;letter-spacing:.05em;color:var(--pale-slate)}.kv-fact-v{font-size:1rem;font-weight:800;color:var(--brand-navy)}.kv-facts+.settings-quiet,.kv-projection{margin-top:10px}.kv-projection{margin-bottom:0;font-size:.82rem;font-weight:700;color:var(--brand-navy)}.kv-apps{display:flex;flex-direction:column}.kv-app{padding:8px 0;border-bottom:1px dashed var(--border-color)}.kv-app:last-child{border-bottom:0;padding-bottom:0}.kv-app-top{display:flex;align-items:baseline;justify-content:space-between;gap:10px;flex-wrap:wrap}.kv-app-name{font-size:.82rem;font-weight:700;color:var(--brand-navy);overflow-wrap:anywhere}.kv-app-num{font-size:.76rem;color:var(--pale-slate);white-space:nowrap}.kv-app-num b{color:var(--brand-navy);font-weight:800}.kv-app-bar{height:6px;margin-top:5px;border-radius:9999px;background:#f3efe6;overflow:hidden}.kv-app-bar span{display:block;height:100%;border-radius:9999px;background:var(--brand-steel-blue)}.kv-app-total{margin-top:4px;padding-top:10px;border-top:2px solid var(--border-color)}.kv-app-total .kv-app-name{font-weight:800}.kv-apps+.settings-quiet{margin-top:12px}@media(max-width:640px){.settings-card{max-height:92vh}.settings-shell{flex-direction:column;min-height:0}.settings-tabs{flex:0 0 auto;width:auto;flex-direction:row;overflow-x:auto;border-right:none;border-bottom:1px solid var(--border-color);padding:10px}.settings-tab{flex:0 0 auto}}.modal-actions{display:flex;justify-content:flex-end;gap:8px}#modalOk.danger{background:#dc2626}#modalOk.danger:hover{background:#b91c1c}.pill-row{display:flex;gap:6px;flex-wrap:wrap;margin-top:6px}.pill{border-radius:9999px;font-size:.75rem;font-weight:700;padding:4px 8px 4px 12px;background:#f3efe6;color:var(--brand-navy);display:inline-flex;align-items:center;gap:6px}.pill button{background:none;border:none;box-shadow:none;padding:0 2px;font-size:.85rem;color:var(--pale-slate);cursor:pointer}.pill button svg{width:12px;height:12px;display:block}.pill button svg path{fill:#dc2626}.pill button:hover svg path{fill:#b91c1c}.loaded-mark{width:18px;height:18px;border-radius:5px;vertical-align:-3px}.pill-auto{background:#eef3f6;color:var(--brand-steel-blue);padding:4px 12px}.combo-wrap{position:relative}.combo-list{position:absolute;left:0;right:0;top:100%;z-index:50;background:#fff;border:1px solid var(--border-color);border-radius:8px;box-shadow:var(--card-shadow-hover);max-height:220px;overflow-y:auto;margin-top:2px}.combo-list button{display:block;width:100%;text-align:left;background:none;border:none;box-shadow:none;border-radius:0;color:var(--body-text);font-weight:600;padding:8px 12px;font-size:.82rem}.combo-list button:hover,.combo-list button.hl{background:#f3efe6;transform:none}.drag-handle{cursor:grab;color:var(--pale-slate);font-size:1rem;-webkit-user-select:none;user-select:none;padding:2px 4px;touch-action:none}.ing-row.dragging{opacity:.5}.ing-row.drop-before{box-shadow:0 -3px 0 var(--brand-tomato-red)}.ing-row.drop-after{box-shadow:0 3px 0 var(--brand-tomato-red)}.ing-row [data-k=cost],.ing-row [data-scale-ing],.ing-row [data-link-ing],.ing-row [data-unlink-ing]{flex-shrink:0}.r-kw-top{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px}.r-badges{display:flex;gap:6px;flex-wrap:wrap;align-items:center}.r-method .step-note{margin:2px 0 8px 18px;color:#555;font-size:.85rem}.r-top{display:flex;justify-content:space-between;align-items:flex-start;gap:10px}.r-top .r-title{flex:1;min-width:0;margin:0}.t-hl{font-weight:700;background:#f3efe6;padding:0 4px;border-radius:4px}.btn-dish{background:var(--bev-theme-badge-bg);color:var(--bev-theme-badge-text);border:1px solid #cfe0ea;padding:5px 12px;font-weight:700;border-radius:9999px;box-shadow:none;cursor:pointer;font-size:.8rem}.btn-dish:hover{transform:translateY(-1px);background:var(--bev-theme-badge-bg)}a.btn-dish{text-decoration:none;display:inline-block}.more-for{display:flex;align-items:center;gap:8px}.more-for svg{width:20px;height:20px}.more-for svg path{fill:var(--brand-navy)}.more-for span{font-size:.9rem}.edit-mark svg{width:1em;height:1em}.edit-mark svg path{fill:var(--brand-tomato-red)}.edit-mark.copy svg path{fill:var(--brand-copy)}.edit-mark.imported svg path{fill:var(--brand-purple)}.img-wrap{position:relative;display:inline-block;max-width:100%}.img-wrap img{display:block;max-width:240px;border-radius:8px}.img-overlay{position:absolute;top:6px;left:6px;display:flex;gap:6px}.ico-btn.sm{width:28px;height:28px;border-radius:7px;background:#fffffff0}.ico-btn.sm svg{width:15px;height:15px}@media(max-width:640px){body{padding:0 12px 12px}.sticky-top-wrapper{margin:0 -12px;padding:0 12px}header{padding:12px 14px}header h1{font-size:1.25rem}.form-grid{grid-template-columns:1fr}.recipe-card img{aspect-ratio:16 / 9;height:auto}.ing-row{grid-template-columns:22px 1fr 1fr auto auto;grid-template-areas:"h q u s x" "h i i c d";row-gap:5px}.ing-row>:nth-child(1){grid-area:h}.ing-row>:nth-child(2){grid-area:q}.ing-row>:nth-child(3){grid-area:u}.ing-row>:nth-child(4){grid-area:i}.ing-row>:nth-child(5){grid-area:s;align-self:center}.ing-row>:nth-child(6){grid-area:x;align-self:center}.ing-row>:nth-child(7){grid-area:c;align-self:center}.ing-row>:nth-child(8){grid-area:d;justify-self:end}body.viewing header{padding:8px 10px}body.viewing header h1{font-size:1.05rem}body.viewing .sub,body.viewing #catBar,body.viewing #searchRow{display:none}body.viewing .brand-logo{height:30px;width:30px}body.viewing .sync-status-badge{display:none}}#view-detail{--p-gap: 24px;--p-title: 20pt;--p-h-size: 12pt;--p-h-margin: 12px 0 6px;--p-ing-font: 12pt;--p-ing-pad: 5px 11px;--p-ing-lh: 1.5;--p-ol-pad: 32px;--p-step-font: 12pt;--p-step-lh: 1.5;--p-step-gap: 8px;--p-note-font: 11pt;--p-photo-h: 44mm;--p-div-margin: 12px 0}#view-detail.fit-1{--p-h-margin: 10px 0 5px;--p-ing-pad: 4px 8px;--p-step-gap: 6px;--p-photo-h: 40mm;--p-gap: 20px;--p-div-margin: 10px 0}#view-detail.fit-2{--p-title: 18pt;--p-h-size: 11pt;--p-h-margin: 8px 0 4px;--p-ing-font: 11pt;--p-ing-pad: 3px 7px;--p-ing-lh: 1.45;--p-step-font: 11pt;--p-step-lh: 1.45;--p-step-gap: 5px;--p-note-font: 10pt;--p-photo-h: 36mm;--p-gap: 18px;--p-div-margin: 8px 0}#view-detail.fit-3{--p-title: 17pt;--p-h-size: 10.5pt;--p-h-margin: 6px 0 3px;--p-ing-font: 10pt;--p-ing-pad: 2px 6px;--p-ing-lh: 1.4;--p-ol-pad: 28px;--p-step-font: 10pt;--p-step-lh: 1.4;--p-step-gap: 4px;--p-note-font: 9pt;--p-photo-h: 32mm;--p-gap: 16px;--p-div-margin: 6px 0}#view-detail.grow-1{--p-h-margin: 14px 0 7px;--p-ing-pad: 8px 11px;--p-ol-pad: 34px;--p-step-gap: 12px;--p-photo-h: 48mm;--p-gap: 26px;--p-div-margin: 14px 0}#view-detail.grow-2{--p-h-margin: 16px 0 8px;--p-ing-pad: 12px 12px;--p-ol-pad: 36px;--p-step-gap: 18px;--p-photo-h: 56mm;--p-gap: 30px;--p-div-margin: 18px 0}@media print{@page{size:A4 portrait;margin:10mm}body{background:#fff;padding:0;-webkit-print-color-adjust:exact;print-color-adjust:exact}.no-print,button,select,input,textarea,.quick-links-bar,.content-spacer,#view-list,#view-admin,.sticky-top-wrapper,.linked-card,.scale-bar,.admin-actions,.costing-details{display:none!important}.sticky-top-wrapper{position:static}.container{max-width:none}#view-detail{display:block!important}#view-detail .card{border:none;box-shadow:none;padding:0}.r-title{font-size:var(--p-title);margin:0 0 2px}.r-dishline,.r-badges{margin-bottom:4px}.r-makes{font-size:9pt;padding:4px;margin:6px 0}.r-print-cols{display:grid;grid-template-columns:37% 1fr;gap:var(--p-gap);align-items:start}.r-print-cols>div>:first-child{margin-top:0}.r-col-left .r-photo{width:100%;height:var(--p-photo-h);object-fit:cover;margin:0 0 4px;border-radius:6px}.r-h{font-size:var(--p-h-size);margin:var(--p-h-margin);padding-bottom:2px}.r-ing-table td{font-size:var(--p-ing-font);padding:var(--p-ing-pad);line-height:var(--p-ing-lh)}.r-ing-table td.qty{width:72px}.r-ing-table tr,.r-method li{break-inside:avoid}.r-ing-table tr.ing-div td{padding:2px 0}.r-ing-table tr.ing-sec td{padding:8px var(--p-ing-pad) 3px;font-weight:800}.yield-b{display:block}.r-ing-table tr.ing-yield td{font-size:calc(var(--p-ing-font) * .85);padding:var(--p-ing-pad)}.ing-link{color:inherit;font-weight:700;border-bottom:none;text-decoration:none}.r-method ol{padding-left:var(--p-ol-pad)}.r-method li{font-size:var(--p-step-font);line-height:var(--p-step-lh);margin-bottom:var(--p-step-gap)}.r-method .method-div{margin:var(--p-div-margin)}.r-method .method-sec{font-size:var(--p-step-font);line-height:var(--p-step-lh);padding-left:var(--p-ol-pad);margin:var(--p-div-margin)}.r-method .step-note{font-size:var(--p-note-font);margin:2px 0 5px 10px}.r-notes{font-size:var(--p-note-font);line-height:1.4}.r-footer{font-size:7.5pt;margin-top:6px;padding-top:4px}#view-detail .card{min-height:276mm;min-height:100vh;display:flex;flex-direction:column}#view-detail .r-footer{margin-top:auto}}.print-draft{display:none}@media print{#view-detail .card{position:relative}.print-draft{display:flex;position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden;flex-direction:column;align-items:center;justify-content:center;gap:8px;pointer-events:none;color:var(--brand-missing);opacity:.18;z-index:5}.print-draft-word{font-size:104pt;font-weight:900;line-height:1;letter-spacing:.1em;transform:rotate(-28deg)}.print-draft-sub{font-size:13pt;font-weight:800;letter-spacing:.08em;text-transform:uppercase}}body.print-measure{background:#fff;padding:0}body.print-measure .no-print,body.print-measure button,body.print-measure select,body.print-measure input,body.print-measure textarea,body.print-measure .quick-links-bar,body.print-measure .content-spacer,body.print-measure #view-list,body.print-measure #view-admin,body.print-measure .sticky-top-wrapper,body.print-measure .linked-card,body.print-measure .scale-bar,body.print-measure .admin-actions,body.print-measure .costing-details{display:none!important}body.print-measure .container{max-width:none}body.print-measure #view-detail{display:block!important}body.print-measure #view-detail .card{border:none;box-shadow:none;padding:0;width:190mm;margin:0 auto}body.print-measure .r-title{font-size:var(--p-title);margin:0 0 2px}body.print-measure .r-dishline,body.print-measure .r-badges{margin-bottom:4px}body.print-measure .r-makes{font-size:9pt;padding:4px;margin:6px 0}body.print-measure .r-print-cols{display:grid;grid-template-columns:37% 1fr;gap:var(--p-gap);align-items:start}body.print-measure .r-print-cols>div>:first-child{margin-top:0}body.print-measure .r-col-left .r-photo{width:100%;height:var(--p-photo-h);object-fit:cover;margin:0 0 4px;border-radius:6px}body.print-measure .r-h{font-size:var(--p-h-size);margin:var(--p-h-margin);padding-bottom:2px}body.print-measure .r-ing-table td{font-size:var(--p-ing-font);padding:var(--p-ing-pad);line-height:var(--p-ing-lh)}body.print-measure .r-ing-table td.qty{width:72px}body.print-measure .yield-b{display:block}body.print-measure .r-ing-table tr.ing-yield td{font-size:calc(var(--p-ing-font) * .85);padding:var(--p-ing-pad)}body.print-measure .r-method ol{padding-left:var(--p-ol-pad)}body.print-measure .r-method li{font-size:var(--p-step-font);line-height:var(--p-step-lh);margin-bottom:var(--p-step-gap)}body.print-measure .r-method .method-div{margin:var(--p-div-margin)}body.print-measure .r-method .method-sec{font-size:var(--p-step-font);line-height:var(--p-step-lh);padding-left:var(--p-ol-pad);margin:var(--p-div-margin)}body.print-measure .r-method .step-note{font-size:var(--p-note-font);margin:2px 0 5px 10px}body.print-measure .r-notes{font-size:var(--p-note-font);line-height:1.4}body.print-measure .r-footer{font-size:7.5pt;margin-top:6px;padding-top:4px}.sec-head{display:flex;align-items:center;justify-content:space-between;gap:10px;cursor:pointer;user-select:none;-webkit-user-select:none}.sec-head .chev{display:inline-block;flex-shrink:0;line-height:1;font-size:.8rem;color:var(--pale-slate);transition:transform .2s ease}.sec-head:hover .chev{color:var(--brand-navy)}.card.is-collapsed>:not(.sec-head){display:none!important}.card.is-collapsed .sec-head .chev{transform:rotate(-90deg)}.staging-release{border:1px solid var(--border-color);border-radius:10px;padding:10px 12px;margin-top:12px}.staging-release:first-of-type{margin-top:6px}.staging-rel-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:4px}.staging-rel-head h3,.staging-rel-head h4{margin:0;font-size:.95rem;font-weight:800;color:var(--brand-navy)}.badge-cat-row{flex-shrink:0;text-transform:uppercase;letter-spacing:.04em}.badge-staged{background:var(--surface-warm);color:var(--brand-navy);border:1px solid var(--border-color);display:inline-flex;align-items:center;gap:5px}.badge-staged svg{width:11px;height:11px}.badge-staged svg path{fill:currentColor}.badge-costing{background:var(--surface-warm);color:var(--brand-steel-blue);border:1px solid var(--border-color);display:inline-flex;align-items:center;gap:5px;text-transform:none;letter-spacing:0}.ing-row.is-cost input[data-k=item]{font-weight:700;color:#263d51;background:#eddbb7}
