:root{--bg-grouped:#f2ede7;--bg-elevated:#fcfbfa;--bg-fill:#ede9e4;--bg-fill-pressed:#e4dcd0;--label:#3c2415;--label-secondary:#8b5e3c;--label-tertiary:#a9947f;--separator:#e8e0d6;--tint:#603913;--tint-fill:#6039131f;--danger:#c0392b;--success:#2f9e44;--warning:#d97706;--info:#3b6ea8;--radius-control:12px;--radius-sheet:16px;--radius-card:16px;--hairline:.5px;--tabbar-height:49px;--navbar-height:44px;--font:system-ui, -apple-system, "SF Pro Text", "SF Pro Display", "Segoe UI", sans-serif;--safe-top:env(safe-area-inset-top,0px);--safe-bottom:env(safe-area-inset-bottom,0px);--shadow-card:0 8px 24px #3c241514}*,:before,:after{box-sizing:border-box}html,body,#root{min-height:100%;margin:0}html{background:var(--bg-grouped)}body{font-family:var(--font);color:var(--label);background:var(--bg-grouped);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;touch-action:manipulation}button,input,select,textarea{font:inherit;color:inherit}button{background:0 0;border:0;padding:0}a{color:var(--tint)}.large-title{letter-spacing:.37px;font-size:34px;font-weight:700;line-height:41px}.title-1{font-size:28px;font-weight:700;line-height:34px}.title-2{font-size:22px;font-weight:700;line-height:28px}.title-3{font-size:20px;font-weight:600;line-height:25px}.headline{font-size:17px;font-weight:600;line-height:22px}.body{font-size:17px;font-weight:400;line-height:22px}.callout{font-size:16px;line-height:21px}.subhead{font-size:15px;line-height:20px}.footnote{color:var(--label-secondary);font-size:13px;line-height:18px}.caption{color:var(--label-secondary);font-size:12px;line-height:16px}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.app-shell{background:var(--bg-grouped);min-height:100dvh;display:flex}.shell-main{flex-direction:column;flex:1;min-width:0;min-height:100dvh;display:flex}.shell-page{-webkit-overflow-scrolling:touch;flex:1;min-height:0;overflow:auto}.page{padding-bottom:calc(var(--tabbar-height) + var(--safe-bottom) + 24px)}.page-body{padding:0 16px 24px}.sidebar{background:var(--bg-elevated);border-right:var(--hairline) solid var(--separator);width:280px;padding:calc(var(--safe-top) + 24px) 16px 24px;z-index:24;flex-shrink:0;transition:width .22s,padding .22s;display:none;overflow:visible}.sidebar-brand{align-items:center;gap:12px;margin-bottom:28px;display:flex}.sidebar-logo{cursor:pointer;border-radius:14px;flex-shrink:0;place-items:center;width:48px;height:48px;display:grid}.sidebar-logo:hover{background:var(--tint-fill)}.sidebar-logo:focus-visible{outline:2px solid var(--tint);outline-offset:2px}.sidebar-brand-text{flex:1;min-width:0;overflow:hidden}.kitchen-select{width:100%;max-width:100%;color:var(--label-secondary);font:inherit;appearance:none;cursor:pointer;text-overflow:ellipsis;white-space:nowrap;background-color:#0000;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 12 12'><path fill='%238b5e3c' d='M2.2 4.2 6 8l3.8-3.8'/></svg>");background-position:right 0 center;background-repeat:no-repeat;background-size:10px;border:0;border-radius:0;min-height:18px;margin:0;padding:0 14px 0 0;display:block;overflow:hidden}.kitchen-select:focus{color:var(--tint);outline:none}.kitchen-select-mobile{flex-shrink:0;max-width:42vw;display:block}.sidebar-brand img{border-radius:12px;display:block}.sidebar-nav{flex-direction:column;gap:4px;display:flex}.sidebar-link{text-align:left;cursor:pointer;border-radius:12px;width:100%;min-height:44px;padding:12px 14px;font-size:17px}.sidebar-link-label{white-space:nowrap;overflow:hidden}.sidebar-link.is-active{background:var(--tint-fill);color:var(--tint);font-weight:600}.sidebar-link.is-current{color:var(--tint)}.sidebar-group{position:relative}.sidebar-section-btn .sidebar-chevron{color:var(--label-tertiary);flex-shrink:0;margin-left:auto;transition:transform .18s}.sidebar-chevron.is-open{transform:rotate(-180deg)}.sidebar-subnav{flex-direction:column;gap:2px;margin:0 0 8px;display:flex}.sidebar-link.is-nested{min-height:36px;padding:8px 12px 8px 34px;font-size:15px}.sidebar-flyout{background:var(--bg-elevated);min-width:220px;box-shadow:var(--shadow-card);z-index:40;border-radius:14px;padding:8px;display:none;position:absolute;top:0;left:calc(100% + 12px)}.sidebar-flyout-title{letter-spacing:.04em;text-transform:uppercase;color:var(--label-tertiary);margin:4px 10px 8px;font-size:11px;font-weight:700}.sidebar-signout{align-items:center;gap:10px;margin-top:auto;padding:16px 14px;display:flex}.tabbar{grid-template-columns:repeat(var(--tab-count,6), 1fr);background:color-mix(in srgb, var(--bg-elevated) 88%, transparent);-webkit-backdrop-filter:blur(20px);border-top:var(--hairline) solid var(--separator);padding-bottom:var(--safe-bottom);z-index:20;display:grid;position:sticky;bottom:0}.tabbar-item{min-height:var(--tabbar-height);color:var(--label-tertiary);flex-direction:column;align-items:center;gap:2px;padding:6px 0 8px;font-size:10px;display:flex}.tabbar-item.is-active{color:var(--tint)}.navbar{background:color-mix(in srgb, var(--bg-grouped) 88%, transparent);-webkit-backdrop-filter:blur(20px);z-index:10;padding:4px 16px 8px;position:sticky;top:0}.navbar-inline{min-height:var(--navbar-height);grid-template-columns:1fr auto 1fr;align-items:center;display:grid}.navbar-back{color:var(--tint);min-height:44px;font-size:17px}.navbar-center{text-align:center}.navbar-trailing{text-align:right}.navbar-trailing-actions{justify-content:flex-end;gap:8px;display:inline-flex}.hours-day{grid-template-columns:48px 1fr 1fr;align-items:center;gap:8px;margin-bottom:10px;display:grid}.coords-row{grid-template-columns:1fr 1fr;gap:8px;display:grid}.coords-row .form-row{margin-bottom:14px}.settings-saved{color:var(--tint);margin:0 0 12px}.stack-actions-tight{margin-top:0;margin-bottom:8px}.location-map{box-shadow:inset 0 0 0 var(--hairline) var(--separator);background:#dce6d8;border-radius:16px;margin:4px 0 12px;position:relative;overflow:hidden}.location-map-canvas{touch-action:none;-webkit-user-select:none;user-select:none;height:min(42vw,280px);min-height:220px;position:relative;overflow:hidden}.location-map.is-pickable .location-map-canvas{cursor:crosshair}.location-map-tile{pointer-events:none;width:256px;height:256px;position:absolute}.location-map-pin-wrap{z-index:2;width:0;height:0;position:absolute}.location-map-pin{background:var(--tint);cursor:pointer;border:0;border-radius:50% 50% 50% 0;width:22px;height:22px;margin:-22px 0 0 -11px;padding:0;position:absolute;top:0;left:0;transform:rotate(-45deg);box-shadow:0 4px 10px #3c241547}.location-map-pin.is-on{background:var(--danger)}.location-map-pin-label{white-space:nowrap;text-overflow:ellipsis;background:var(--bg-elevated);max-width:140px;color:var(--label);box-shadow:var(--shadow-card);pointer-events:none;border-radius:8px;padding:2px 6px;font-size:11px;font-weight:600;position:absolute;top:4px;left:0;overflow:hidden;transform:translate(-50%)}.location-map-zoom{flex-direction:column;gap:6px;display:flex;position:absolute;top:10px;right:10px}.location-map-zoom button{background:color-mix(in srgb, var(--bg-elevated) 92%, transparent);width:36px;height:36px;color:var(--label);box-shadow:var(--shadow-card);border:0;border-radius:10px;font-size:20px;line-height:1}.location-map-copy{color:var(--label);text-shadow:0 0 4px #fff;margin:0;padding:0;font-size:10px;position:absolute;bottom:8px;right:10px}.place-suggest{background:var(--bg-elevated);box-shadow:inset 0 0 0 var(--hairline) var(--separator);border-radius:12px;margin:-4px 0 12px;overflow:hidden}.place-suggest-row{text-align:left;width:100%;color:var(--label);border:0;border-bottom:var(--hairline) solid var(--separator);background:0 0;padding:12px 14px;font-size:14px;display:block}.place-suggest-row:last-child{border-bottom:0}.navbar-compact-only{visibility:hidden}.navbar-large{margin:4px 0 8px}.inset-group{margin:20px 0}.inset-header{text-transform:uppercase;letter-spacing:.02em;margin:0 16px 6px}.inset-card{background:var(--bg-elevated);border-radius:var(--radius-card);overflow:hidden}.inset-footer{margin:8px 16px 0}.list-row{text-align:left;border-bottom:var(--hairline) solid var(--separator);background:0 0;align-items:center;gap:10px;width:100%;min-height:52px;padding:12px 16px;display:flex}.inset-card .list-row:last-child{border-bottom:0}.list-row:hover{background:var(--bg-fill)}.list-row-text{flex:1;min-width:0}.list-row-split{border-bottom:var(--hairline) solid var(--separator);align-items:stretch;display:flex}.inset-card .list-row-split:last-child{border-bottom:0}.list-row-split .list-row{border-bottom:0;flex:1;min-width:0}.list-row-split:hover{background:var(--bg-fill)}.list-row-split .list-row:hover{background:0 0}.list-row-action{width:44px;color:var(--danger);cursor:pointer;flex-shrink:0;place-items:center;display:grid}.money{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums;flex-direction:column;align-items:flex-end;gap:1px;line-height:1.15;display:inline-flex}.money.is-start{text-align:left;align-items:flex-start}.money-usd{font-weight:600}.money-khr{color:var(--label-secondary);font-size:11px;font-weight:500;line-height:14px}.money.is-compact .money-usd{font-size:12px;font-weight:600}.money.is-headline .money-usd{font-size:17px;font-weight:600;line-height:22px}.money.is-headline .money-khr{font-size:13px;line-height:16px}.money.is-card{text-align:left;align-items:flex-start}.money.is-card .money-usd{color:var(--tint);font-size:18px;font-weight:700}.money.is-card .money-khr{font-size:12px;font-weight:600}.money.is-metric .money-usd{font-size:16px;font-weight:700}.list-row>.money{flex-shrink:0}.list-row-price-sub{flex-wrap:wrap;align-items:flex-start;gap:4px;display:flex}.list-row-sub-stack{flex-direction:column;gap:2px;display:flex}.list-row-sub-money{align-items:flex-end;gap:4px;display:inline-flex}:is(.caption:has(>.money),.footnote:has(>.money)){flex-wrap:wrap;align-items:flex-end;gap:6px;display:inline-flex}.chevron{color:var(--label-tertiary)}.is-danger{color:var(--danger)}.ios-btn{border-radius:var(--radius-control);justify-content:center;align-items:center;gap:8px;width:100%;min-height:44px;padding:0 18px;font-weight:600;display:inline-flex}.ios-btn-large{min-height:56px;font-size:17px}.btn-filled{background:var(--tint);color:#fcfbfa}.btn-tinted{background:var(--tint-fill);color:var(--tint)}.btn-plain{color:var(--tint)}.btn-destructive{color:var(--danger)}.form-row{flex-direction:column;gap:6px;margin-bottom:14px;display:flex}.ios-input{background:var(--bg-elevated);width:100%;min-height:48px;box-shadow:inset 0 0 0 var(--hairline) var(--separator);border:0;border-radius:12px;outline:none;padding:12px 14px}.ios-input:focus{box-shadow:inset 0 0 0 2px var(--tint)}.field-error{color:var(--danger);font-size:13px}.field-error p{margin:0}.in-use-group{color:var(--label);margin-top:10px}.in-use-label{color:var(--label-secondary);font-size:12px;font-weight:600}.in-use-list{margin:4px 0 0;padding-left:18px}.in-use-list li{margin:2px 0}.login-screen{min-height:100dvh;padding:32px 24px calc(24px + var(--safe-bottom));text-align:center;flex-direction:column;justify-content:center;align-items:center;display:flex}.login-tag{margin-top:4px}.login-form{text-align:left;width:min(100%,400px);margin-top:28px}.preview-link{min-height:44px;color:var(--label-secondary);margin-top:24px}.rings-row{justify-content:space-around;padding:12px 0 8px;display:flex}.ring-wrap{text-align:center}.ring-label{margin-top:4px}.shell-top{padding:calc(var(--safe-top) + 6px) 16px 0;z-index:20;background:color-mix(in srgb, var(--bg-grouped) 88%, transparent);-webkit-backdrop-filter:blur(20px);justify-content:flex-end;align-items:center;gap:12px;display:flex;position:sticky;top:0}.mode-switch{background:var(--bg-fill);border-radius:999px;flex-shrink:0;padding:2px;display:inline-flex}.mode-switch .chip{min-height:32px;box-shadow:none;background:0 0;padding:4px 12px}.mode-switch .chip.is-on{background:var(--tint);color:#fff}.syncbar{text-align:left;flex:1;min-width:0;padding:4px 0;font-size:12px;line-height:18px}.tone-ok{color:var(--label-secondary)}.tone-warn{color:var(--warning);background:#fff4e5}.tone-issue{color:var(--danger);background:#fde8e8}.empty-state{text-align:center;padding:28px 20px}.empty-state p{margin-top:8px}.skeleton-stack{padding:24px 16px}.skeleton-row{background:linear-gradient(90deg, var(--bg-fill), var(--bg-elevated), var(--bg-fill));background-size:200% 100%;border-radius:12px;height:52px;margin-bottom:10px;animation:1.2s ease-in-out infinite shimmer}@keyframes shimmer{to{background-position:-200% 0}}.boot{min-height:100dvh}.kitchen-caption,.signed-as{margin:0 4px 8px}.stepper{grid-template-columns:56px 1fr 56px;align-items:center;gap:8px;display:grid}.stepper-btn{background:var(--bg-elevated);min-height:48px;box-shadow:inset 0 0 0 var(--hairline) var(--separator);border-radius:12px;font-size:22px}.stepper-input{text-align:center}.check-row{align-items:center;gap:10px;min-height:44px;margin:8px 0 16px;display:flex}.count-row{align-items:center}.count-input{text-align:right;flex-shrink:0;width:92px;min-height:40px}.stack-actions{flex-direction:column;gap:10px;margin-top:24px;display:flex}.maker-add{margin:0 4px 20px}.chip-row{flex-wrap:wrap;gap:8px;margin:0 0 14px;display:flex}.chip{background:var(--bg-elevated);min-height:36px;color:var(--label);box-shadow:inset 0 0 0 var(--hairline) var(--separator);border-radius:999px;padding:8px 12px;font-size:13px;font-weight:600}.chip.is-on{background:var(--tint);color:#fff;box-shadow:none}.order-line-tools{grid-template-columns:1fr auto;align-items:center;gap:8px;padding:0 12px 12px;display:grid}.picker-list{max-height:40vh;overflow:auto}.cal-nav{justify-content:space-between;align-items:center;margin:0 4px 12px;display:flex}.cal-grid{grid-template-columns:repeat(7,1fr);gap:4px;margin-bottom:8px;display:grid}.cal-dow,.cal-day{flex-direction:column;justify-content:center;align-items:center;min-height:40px;font-size:15px;display:flex;position:relative}button.cal-day{color:inherit;font:inherit;background:0 0;border:none;width:100%;padding:0}.cal-day:disabled{cursor:default}.cal-day.is-today{background:var(--tint-fill);border-radius:10px;font-weight:600}.cal-day.is-selected{background:var(--tint);color:#fff;border-radius:10px;font-weight:600}.cal-day.is-selected.is-today{box-shadow:inset 0 0 0 2px var(--tint-fill)}.cal-dot{background:var(--tint);border-radius:99px;width:6px;height:6px;margin-top:2px}.cal-day.is-selected .cal-dot{background:#fff}.cal-dot.is-preview{box-shadow:inset 0 0 0 1.5px var(--tint);background:0 0}.cal-day.is-selected .cal-dot.is-preview{box-shadow:inset 0 0 0 1.5px #fff}.sheet-backdrop{z-index:40;background:#0006;justify-content:center;align-items:flex-end;padding:16px;display:flex;position:fixed;inset:0}.sheet{background:var(--bg-grouped);border-radius:20px 20px 16px 16px;flex-direction:column;gap:10px;width:min(480px,100%);padding:20px 16px 12px;display:flex}.sheet iframe{background:#fff;min-height:48vh}.list-row.is-low{background:var(--tint-fill);animation:.8s ease-out low-pulse}@keyframes low-pulse{0%{background:#60391338}to{background:var(--tint-fill)}}.cal-day.has-order:after{content:"";background:var(--tint);border-radius:50%;width:6px;height:6px;position:absolute;bottom:4px}.shortage-pill{background:var(--danger);color:#fff;white-space:nowrap;border-radius:999px;align-items:center;min-height:22px;padding:2px 8px;font-size:12px;font-weight:700;display:inline-flex}.shop-line{grid-template-columns:auto 1fr;align-items:stretch;display:grid}.timeline{min-height:160px;margin:8px 4px 12px;position:relative}.timeline-hour{border-top:var(--hairline) solid var(--separator);height:56px;padding-left:4px;position:absolute;left:0;right:0}.timeline-event{background:var(--tint-fill);color:var(--tint);text-align:left;border:0;border-radius:10px;flex-direction:column;align-items:flex-start;gap:2px;padding:6px 8px;display:flex;position:absolute;left:56px;right:4px;overflow:hidden}.timeline-event strong{font-size:13px;font-weight:650}.timeline-event span{opacity:.8;font-size:11px}.timeline-event.is-due{box-shadow:inset 0 0 0 var(--hairline) var(--tint);background:#60391314}.timeline-event.is-done{opacity:.55}.gantt{-webkit-overflow-scrolling:touch;margin:8px 0 20px;padding-bottom:8px;display:flex;overflow-x:auto}.gantt-axis{z-index:3;background:var(--bg-grouped);flex:0 0 40px;position:sticky;left:0}.gantt-axis-head,.gantt-lane-head{height:36px}.gantt-lane-head{color:var(--tint);white-space:nowrap;text-overflow:ellipsis;padding:10px 8px 0;font-size:13px;font-weight:650;overflow:hidden}.gantt-lane{border-left:var(--hairline) solid var(--separator);background:var(--bg-elevated);flex:0 0 176px;position:relative}.gantt-lane.is-due{flex-basis:132px}.gantt-lane.is-over{background:var(--tint-fill)}.gantt-track{position:relative}.gantt-hour,.gantt-hour-line{border-top:var(--hairline) solid var(--separator);position:absolute;left:0;right:0}.gantt-hour{padding-left:4px}.gantt-event{z-index:1;touch-action:none;-webkit-user-select:none;user-select:none;left:6px;right:6px}.gantt-event.is-draggable{cursor:grab}.gantt-event.is-dragging{opacity:.35}.gantt-event.is-ghost{pointer-events:none;z-index:4;box-shadow:var(--shadow-card)}.gantt-event.is-pinned{box-shadow:inset 0 0 0 var(--hairline) var(--tint)}.gantt-event.is-locked{background:var(--bg-fill)}.step-list{color:var(--secondary-label);margin:0;padding:0 16px 10px 32px;font-size:13px}.step-list li{margin:2px 0}.board-card{background:var(--bg-elevated);border-radius:20px;margin:12px 0 16px;padding:20px 16px 16px}.board-card.tone-next{box-shadow:inset 0 0 0 var(--hairline) var(--tint)}.board-card.tone-running{background:var(--tint-fill)}.board-card.tone-waiting{opacity:.92}.board-card-tools{flex-direction:column;gap:10px;margin-top:16px;display:flex}.check-line{align-items:center;gap:12px;min-height:44px;font-size:17px;display:flex}.shop-line .list-row{min-width:0}.check-circle{color:#fff;width:28px;height:28px;box-shadow:inset 0 0 0 2px var(--tint);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;margin:14px 0 14px 12px;display:inline-flex}.check-circle.is-on{background:var(--tint);box-shadow:none}.chip.is-warn{box-shadow:inset 0 0 0 var(--hairline) var(--danger)}.chip.is-warn.is-on{background:var(--danger)}.dash-grid{grid-template-columns:1fr 1fr;gap:10px;margin:12px 0 16px;display:grid}.dash-card{background:var(--bg-elevated);min-height:72px;color:var(--label);text-align:left;border:0;border-radius:14px;flex-direction:column;gap:4px;padding:14px 16px;display:flex}.dash-card strong{font-size:22px;font-weight:700}.dash-card span{color:var(--secondary-label);font-size:13px}.dash-card.is-alert{background:var(--tint-fill)}.delivery-map{background:#f7f1e8;border-radius:12px;width:100%;height:auto;margin:8px 0 16px;display:block}.stop-row{text-align:left;border:0;border-bottom:var(--hairline) solid var(--separator);cursor:grab;background:0 0;align-items:center;gap:8px;width:100%;min-height:52px;padding:8px 12px;display:flex}.inset-card .stop-row:last-child{border-bottom:0}.stop-row.is-on{background:var(--tint-fill)}.stop-num{background:var(--tint);color:#fcfbfa;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;font-size:13px;font-weight:700;display:inline-flex}.stop-row.is-on .stop-num{box-shadow:0 0 0 2px #fff, 0 0 0 4px var(--tint)}.stop-tools{flex-shrink:0;gap:2px;display:flex}.syncbar.is-quiet{justify-content:flex-start;align-items:center;gap:6px;min-height:0;padding:4px 0;display:flex}.sync-dot{background:var(--success);border-radius:50%;width:7px;height:7px}.tabbar.is-easy{grid-template-columns:repeat(6,1fr)}.sidebar-nav{flex:1;min-height:0;overflow:auto}.sidebar-section{letter-spacing:.04em;text-transform:uppercase;color:var(--label-tertiary);margin:14px 14px 4px;font-size:11px;font-weight:700}.sidebar-link{align-items:center;gap:10px;display:flex}.sidebar-foot{margin-top:auto;padding-top:12px}.sidebar.is-mini{width:72px;padding-left:12px;padding-right:12px}.sidebar.is-mini .sidebar-nav{overflow:visible}.sidebar.is-mini .sidebar-brand{justify-content:center;margin-bottom:20px}.sidebar.is-mini .sidebar-brand-text,.sidebar.is-mini .sidebar-section-btn .sidebar-link-label,.sidebar.is-mini .sidebar-nav>.sidebar-link .sidebar-link-label,.sidebar.is-mini .sidebar-chevron,.sidebar.is-mini .sidebar-subnav{display:none}.sidebar.is-mini .sidebar-nav>.sidebar-link,.sidebar.is-mini .sidebar-section-btn,.sidebar.is-mini .sidebar-signout{justify-content:center;padding-left:0;padding-right:0}.sidebar.is-mini .sidebar-group:hover .sidebar-flyout,.sidebar.is-mini .sidebar-group:focus-within .sidebar-flyout{flex-direction:column;gap:2px;display:flex}.sidebar.is-mini .sidebar-flyout .sidebar-link{justify-content:flex-start;padding:10px 12px}.sidebar.is-mini .sidebar-flyout .sidebar-link-label{display:inline}.card-grid{grid-template-columns:1fr;gap:12px;margin-bottom:16px;display:grid}@media (width>=768px){.card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width>=1400px){.app-shell.is-sidebar-mini .card-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width>=1600px){.card-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}.visual-card,.metric-tile,.product-card{border-radius:var(--radius-card);background:var(--bg-elevated);width:100%;box-shadow:var(--shadow-card);text-align:left;color:inherit;flex-direction:column;gap:6px;padding:14px;display:flex;position:relative}.visual-card.is-button,.metric-tile.is-button{cursor:pointer;border:0}.visual-card.is-selected,.product-card-main:focus-visible,.variant-chip:focus-visible,.product-card-photo-btn:focus-visible{box-shadow:inset 0 0 0 2px var(--tint)}.visual-card-icon{background:var(--tint-fill);width:44px;height:44px;color:var(--tint);border-radius:12px;place-items:center;display:grid}.visual-card-title{font-size:16px;font-weight:650}.product-card .visual-card-title{align-items:center;gap:6px;display:flex}.product-card .visual-card-title>span{min-width:0}.product-recipe-warn{color:var(--warning);flex-shrink:0}.caption.product-recipe-missing{color:var(--warning);align-items:center;gap:6px;display:flex}.recipe-link-sheet{max-height:85vh}.recipe-link-list{max-height:40vh;overflow:auto}.recipe-link-list .list-row-text{flex-direction:column;align-items:flex-start;gap:2px;display:flex}.variant-chip-name-row{align-items:center;gap:4px;min-width:0;display:flex}.variant-chip-name-row .variant-chip-name{min-width:0}.visual-card-metric{color:var(--tint);font-size:22px;font-weight:700}.status-chip{border-radius:999px;align-items:center;gap:4px;width:fit-content;padding:2px 8px;font-size:11px;font-weight:650;display:inline-flex}.status-chip.tone-ready{color:var(--success);background:#2f9e4424}.status-chip.tone-attention{color:var(--warning);background:#d9770624}.status-chip.tone-blocked{color:var(--danger);background:#c0392b1f}.status-chip.tone-active{background:var(--tint-fill);color:var(--tint)}.status-chip.tone-draft{background:var(--bg-fill);color:var(--label-secondary)}.status-chip.tone-running{color:var(--info);background:#3b6ea824}.metric-tile-top{color:var(--tint);align-items:center;gap:8px;display:flex}.metric-tile-value{font-size:28px;font-weight:700}.category-rail{-webkit-overflow-scrolling:touch;gap:8px;padding:4px 0 12px;display:flex;overflow-x:auto}.product-search-row{align-items:flex-end;gap:8px;display:flex}.product-search-row .form-row{flex:1;min-width:0;margin-bottom:8px}.product-new-btn{background:var(--tint);color:#fff;cursor:pointer;border:0;border-radius:999px;flex-shrink:0;place-items:center;width:48px;height:48px;margin-bottom:8px;padding:0;display:grid}.product-new-btn.is-navbar{background:var(--tint-fill);width:32px;height:32px;min-height:0;color:var(--tint);margin-top:0}.category-chip{border:var(--hairline) solid var(--separator);background:var(--bg-elevated);color:var(--label);border-radius:999px;flex-shrink:0;align-items:center;gap:6px;min-height:44px;padding:8px 12px;display:inline-flex}.category-chip.is-on{background:var(--tint);color:#fff;border-color:var(--tint)}.product-card-art{background:var(--tint-fill);height:152px;color:var(--tint);background-position:50%;background-repeat:no-repeat;background-size:cover;border-radius:12px;display:block;position:relative;overflow:hidden}.product-card-art.has-cover{background-color:var(--tint-fill)}.product-card-art:after{content:"";pointer-events:none;background:linear-gradient(#200e0438 0%,#200e0494 100%);position:absolute;inset:0}.product-card-art-probe{opacity:0;pointer-events:none;width:0;height:0;position:absolute}.product-card-art-fallback{opacity:.28;pointer-events:none;place-items:center;display:grid;position:absolute;inset:0}.product-hero-art img{object-fit:cover;object-position:center;width:100%;height:100%;position:absolute;inset:0}.product-card-photo-btn{background:color-mix(in srgb, var(--bg-elevated) 88%, transparent);width:32px;height:32px;color:var(--label);box-shadow:var(--shadow-card);cursor:pointer;border:0;border-radius:999px;place-items:center;display:grid;position:absolute;bottom:6px;right:6px}.product-card-photo-btn:disabled{opacity:.6}.product-card-add{z-index:4;position:absolute;top:20px;right:20px}.product-card-new{background:color-mix(in srgb, var(--bg-elevated) 90%, transparent);width:28px;height:28px;color:var(--tint);box-shadow:var(--shadow-card);cursor:pointer;border:0;border-radius:999px;place-items:center;padding:0;display:grid}.product-card-add-menu{z-index:5;background:var(--bg-elevated);min-width:228px;box-shadow:var(--shadow-card);border-radius:14px;padding:6px;position:absolute;top:calc(100% + 6px);right:0}.product-card-add-menu button{width:100%;font:inherit;text-align:left;color:var(--label);cursor:pointer;background:0 0;border:0;border-radius:10px;flex-direction:column;align-items:flex-start;gap:1px;padding:10px 12px;display:flex}.product-card-add-menu button:hover,.product-card-add-menu button:focus-visible{background:var(--bg-fill)}.product-card-add-menu strong{font-size:15px;font-weight:650}.product-card-add-menu span{color:var(--label-secondary);font-size:12px}.product-card-main{z-index:1;width:100%;font:inherit;text-align:left;color:#fcfbfa;cursor:pointer;background:0 0;border:0;flex-direction:row;justify-content:space-between;align-items:flex-end;gap:10px;padding:12px;display:flex;position:absolute;inset:0}.product-card-overlay-copy{flex-direction:column;gap:2px;min-width:0;display:flex}.product-card-art .visual-card-title{color:#fcfbfa;text-shadow:0 1px 8px #200e0459}.product-card-art .product-card-tagline{color:#fcfbfad1}.product-card-price{color:#fcfbfa;text-align:right;flex-shrink:0;font-size:18px;font-weight:700}.product-card-art .money.is-card{text-align:right;align-items:flex-end}.product-card-art .money.is-card .money-usd,.product-card-art .money.is-card .money-khr{color:#fcfbfa}.product-card-art .money.is-card .money-khr{opacity:.82}.product-card-stock.is-ok{color:#8ee0a0}.product-card-stock.is-low,.product-card-stock.is-held{color:#ffc878}.product-card-stock.is-out,.product-card-stock.is-none{color:#fcfbfab8}.product-card-stock.is-mto{color:#fcfbfa}.product-card-tagline{color:#fcfbfad1;font-size:12px;font-weight:600}.product-card-meta{justify-content:space-between;align-items:center;gap:8px;display:flex}.product-card-variants,.product-detail-variants{flex-direction:column;gap:10px;display:flex}.product-detail-variants{margin:8px 0 16px}.variant-size-group{flex-direction:column;gap:5px;display:flex}.variant-size-label{letter-spacing:.04em;text-transform:uppercase;color:var(--label-secondary);justify-content:space-between;align-items:baseline;gap:8px;margin:0;font-size:11px;font-weight:750;display:flex}.variant-size-qty{letter-spacing:0;text-transform:none;font-variant-numeric:tabular-nums;font-weight:650}.variant-size-chips{grid-template-columns:1fr;gap:6px;display:grid}@media (width>=900px){.variant-size-chips{grid-template-columns:repeat(2,minmax(0,1fr))}}.variant-chip{border:var(--hairline) solid var(--separator);background:var(--bg-fill);min-width:0;min-height:56px;color:inherit;font:inherit;text-align:left;cursor:pointer;border-radius:10px;flex-direction:row;align-items:center;gap:8px;padding:0 10px 0 0;display:flex;overflow:hidden}.variant-chip-detail{cursor:default;min-height:64px;padding:0 10px 0 0}.variant-chip-detail[data-clickable=true]{cursor:pointer}.variant-chip.is-selected{border-color:var(--tint);background:var(--tint-fill)}.variant-chip-art{background:var(--tint-fill);width:56px;height:56px;color:var(--tint);border-radius:0;flex:0 0 56px;place-items:center;padding:0;display:grid;position:relative;overflow:hidden}.variant-chip-art img{object-fit:cover;object-position:center;width:calc(100% + 16px);max-width:none;height:calc(100% + 16px);position:absolute;inset:-8px}.variant-chip-body{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.variant-chip-name{white-space:nowrap;text-overflow:ellipsis;font-size:12px;font-weight:650;overflow:hidden}.variant-chip-stock{color:var(--label-secondary);font-size:10px;font-weight:650}.variant-chip-price{flex-direction:column;flex-shrink:0;align-items:flex-end;gap:0;margin-left:auto;display:flex}.variant-chip-price .money{align-items:flex-end}.variant-chip-price .money-usd{color:var(--tint)}.variant-chip.is-ok .variant-chip-stock{color:var(--success)}.variant-chip.is-low .variant-chip-stock{color:var(--warning)}.variant-chip.is-out .variant-chip-stock{color:var(--danger)}.variant-chip.is-mto .variant-chip-stock{color:var(--tint)}.variant-chip.is-held .variant-chip-stock{color:var(--warning)}.product-hero{flex-direction:row;align-items:stretch;gap:14px;margin-bottom:16px;display:flex}.product-hero-art{border-radius:var(--radius-card);background:var(--tint-fill);width:132px;height:132px;color:var(--tint);border:0;flex-shrink:0;place-items:center;padding:0;display:grid;position:relative;overflow:hidden}.product-hero-art.is-editable{appearance:none;font:inherit;cursor:pointer}.product-hero-art.is-editable:disabled{opacity:.6;cursor:wait}.product-hero-art.is-editable:focus-visible{outline:2px solid var(--tint);outline-offset:2px}.product-hero-copy{flex-direction:column;flex:1;justify-content:center;gap:1px;min-width:0;display:flex}.product-hero-copy .title-3{margin:0 0 2px;line-height:1.15}.product-hero-copy .form-row,.product-hero-copy .chip-row{margin-bottom:0}.product-hero-copy .footnote,.product-hero-copy .caption,.product-hero-copy .kitchen-caption{margin:0}.product-hero-copy .money{margin:2px 0 0}.product-hero-chips{flex-wrap:wrap;align-items:center;gap:6px;margin-top:6px;display:flex}.product-hero-photo-btn{background:color-mix(in srgb, var(--bg-elevated) 88%, transparent);width:32px;height:32px;color:var(--label);box-shadow:var(--shadow-card);pointer-events:none;border-radius:999px;place-items:center;display:grid;position:absolute;bottom:8px;right:8px}.product-hero .ios-btn{align-self:flex-start;gap:8px;width:auto}.product-hero-action{background:var(--tint-fill);width:auto;min-height:22px;color:var(--tint);font:inherit;cursor:pointer;border:0;border-radius:999px;align-self:flex-start;align-items:center;gap:4px;padding:2px 8px;font-size:11px;font-weight:650;display:inline-flex}.product-hero-action:focus-visible{outline:2px solid var(--tint);outline-offset:2px}.product-recipe-none{color:var(--warning);align-items:center;gap:4px;display:inline-flex}.product-section-head{justify-content:space-between;align-items:center;gap:8px;display:flex}.product-section-head .caption{margin:0}.catalog-row-actions{gap:4px;display:inline-flex}.catalog-add-row{grid-template-columns:1fr auto;align-items:end;gap:8px;padding:8px 16px 12px;display:grid}.catalog-add-row .form-row{margin-bottom:0}.catalog-size-block{border-bottom:var(--hairline) solid var(--separator)}.catalog-size-block:last-child,.catalog-size-block .list-row{border-bottom:0}.catalog-size-cats{padding:0 16px 12px}.catalog-size-cats .caption{margin-bottom:6px}.catalog-add-row .catalog-size-cats{padding:0}.catalog-edit-actions{gap:8px;display:flex}.navbar-back.is-danger{color:var(--danger,#c62828)}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.variant-pick{border:0;border-bottom:var(--hairline) solid var(--separator);text-align:left;background:0 0;justify-content:space-between;width:100%;padding:14px 0;display:flex}.sheet-backdrop.is-center{align-items:center}.product-sheet-backdrop{z-index:80;isolation:isolate;background:#3c24158c}.page.is-product-sheet-open .page-body{display:none}.sheet-wide{width:min(720px,100% - 24px);max-width:720px;max-height:90dvh;overflow:auto}.ingredient-sheet{border-radius:20px;max-height:90dvh;padding-top:18px;position:relative;overflow:auto}.ingredient-sheet-hero{align-items:stretch;gap:16px;display:flex}.ingredient-sheet-visual{flex-direction:column;flex:0 0 72px;align-items:center;gap:10px;display:flex}.ingredient-sheet-icon{background:var(--tint-fill);width:56px;height:56px;color:var(--tint);border-radius:16px;place-items:center;display:grid;overflow:hidden}.ingredient-sheet-visual.tone-warning .ingredient-sheet-icon,.ingredient-sheet-visual.tone-critical .ingredient-sheet-icon{background:color-mix(in srgb, var(--warning) 16%, var(--bg-elevated))}.ingredient-sheet-visual.tone-critical .ingredient-sheet-icon{color:var(--danger);background:color-mix(in srgb, var(--danger) 14%, var(--bg-elevated))}.ingredient-sheet-bar{width:28px;height:132px}.ingredient-sheet-bar .stock-gauge-well{background:color-mix(in srgb, var(--separator) 55%, var(--bg-fill))}.ingredient-sheet .preview-link{text-align:left;width:auto;min-height:32px;color:var(--tint);align-self:flex-start;margin:0;font-weight:650}.ingredient-sheet-close{z-index:1;background:var(--bg-fill);width:30px;height:30px;color:var(--label-secondary);border-radius:15px;place-items:center;display:grid;position:absolute;top:12px;right:12px}.ingredient-sheet-close.is-inline{flex:none;position:static}.ingredient-sheet-visual.tone-warning .stock-gauge-fill{background:var(--warning)}.ingredient-sheet-visual.tone-critical .stock-gauge-fill{background:var(--danger)}.ingredient-sheet-copy{flex-direction:column;justify-content:center;gap:4px;min-width:0;padding-right:28px;display:flex}.ingredient-sheet-copy h2{margin:0}.ingredient-sheet-available{color:var(--success);margin:6px 0 0;font-size:22px;font-weight:750}.ingredient-sheet-metrics{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.ingredient-sheet-metric{background:var(--bg-elevated);box-shadow:var(--shadow-card);border-radius:14px;flex-direction:column;gap:2px;padding:12px 10px;display:flex}.ingredient-sheet-metric span{color:var(--label-secondary);font-size:11px;font-weight:650}.ingredient-sheet-metric strong{font-size:16px;font-weight:750}.ingredient-sheet-metric.is-available strong{color:var(--success)}.ingredient-sheet-metric.is-action{text-align:left;cursor:pointer;width:100%}.ingredient-sheet-metric.is-action:hover{background:color-mix(in srgb, var(--bg-elevated) 70%, var(--bg-fill))}.ingredient-sheet-metric.is-held strong{color:var(--warning)}.product-sheet{isolation:isolate;background:var(--bg-elevated);max-height:90dvh;box-shadow:var(--shadow-card);border-radius:20px;padding-top:8px;position:relative;overflow:auto}.product-sheet .product-hero-art{width:148px;height:148px}.product-inspector{flex-direction:column;gap:12px;display:flex}.product-sheet-chrome{justify-content:space-between;align-items:center;gap:8px;min-height:44px;margin:0 2px 2px;display:flex}.product-sheet-edit-hint{color:var(--tint);font:inherit;cursor:pointer;background:0 0;border:0;min-height:44px;margin-left:auto;padding:0 8px;font-size:17px;font-weight:600}.product-sheet-edit-hint:disabled{opacity:.55;cursor:wait}.product-sheet-edit-hint:focus-visible{outline:2px solid var(--tint);outline-offset:2px;border-radius:8px}.product-inspector.is-sheet .product-hero{margin-bottom:0}.product-hero.is-editing{display:block}.product-hero.is-editing .product-hero-art,.product-sheet .product-hero.is-editing .product-hero-art{width:88px;height:88px}.product-field-row{gap:12px}.product-field-row .body{flex:none}.product-field-row .ios-input{text-align:right;min-width:0;min-height:28px;box-shadow:none;background:0 0;border-radius:0;flex:1;padding:0;font-size:17px}.product-field-row .ios-input:focus{box-shadow:none}.product-inspector .inset-group{margin:0}.product-edition-pick{flex-direction:column;gap:6px;padding:10px 16px 12px;display:flex}.product-edition-pick+.product-edition-pick{padding-top:0}.product-edition-pick .caption,.product-edition-pick .chip-row{margin:0}.ingredient-reserve-list{flex-direction:column;gap:10px;margin:4px 0 12px;display:flex}.ingredient-reserve-group{background:var(--bg-grouped);border-radius:14px;overflow:hidden}.ingredient-reserve-customer,.ingredient-reserve-order{text-align:left;justify-content:space-between;align-items:center;gap:12px;width:100%;padding:12px 14px;display:flex}.ingredient-reserve-customer{background:var(--bg-elevated)}.ingredient-reserve-customer>span,.ingredient-reserve-order>span:last-child{color:var(--warning);flex:none;font-size:15px;font-weight:750}.ingredient-reserve-name{width:auto;min-width:0;color:var(--tint);align-items:center;gap:2px;font-size:16px;font-weight:700;display:inline-flex}.ingredient-reserve-order{color:var(--label-secondary);border-top:var(--hairline) solid var(--separator);font-size:13px;font-weight:650}.ingredient-reserve-order.is-static{cursor:default}.ingredient-sheet-lots{flex-direction:column;gap:6px;display:flex}.ingredient-sheet-lot{background:var(--bg-elevated);border-radius:12px;justify-content:space-between;gap:12px;padding:10px 12px;display:flex}.ingredient-sheet-lot div{flex-direction:column;gap:2px;display:flex}.ingredient-sheet-price{width:auto;color:var(--tint);align-items:center;gap:2px;margin-top:2px;padding:0;font-size:13px;font-weight:650;display:inline-flex}.ingredient-sheet-price .money{align-items:flex-start}.ingredient-sheet-price .money-usd{color:inherit;font-size:13px;font-weight:650}.ingredient-sheet-price .money-khr{color:color-mix(in srgb, var(--tint) 65%, var(--label-secondary))}.ingredient-sheet-price.is-empty{color:var(--label-tertiary);font-weight:550}.ingredient-sheet-actions{justify-content:center;gap:8px;margin-top:6px;display:flex}.ingredient-sheet-action{width:88px;color:var(--label);background:0 0;flex-direction:column;align-items:center;gap:8px;padding:2px 0 0;font-size:12px;font-weight:650;display:flex}.ingredient-sheet-action-icon{background:var(--tint-fill);width:52px;height:52px;color:var(--tint);border-radius:26px;place-items:center;display:grid}.ingredient-sheet-action.is-primary .ingredient-sheet-action-icon{background:var(--tint);color:#fcfbfa}.ingredient-sheet-action.is-danger .ingredient-sheet-action-icon{background:color-mix(in srgb, var(--danger) 12%, var(--bg-elevated));color:var(--danger)}.ingredient-price-modal{width:min(420px,100%);max-height:min(80dvh,640px)}.ingredient-price-modal .inset-group{margin:8px 0 12px}.ingredient-price-modal .empty-state{padding:12px 0 8px}@media (width>=1200px){.card-grid.is-compact{grid-template-columns:repeat(6,minmax(0,1fr))}}@media (width>=900px){.sidebar{flex-direction:column;height:100dvh;display:flex;position:sticky;top:0}.kitchen-select-mobile{display:none}.app-shell.is-sidebar-mini .kitchen-select-mobile{max-width:220px;display:block}.tabbar{display:none}.page{padding-bottom:40px}.shell-top{padding-top:8px}}.visual-card-body{flex:1;min-width:0}.visual-card.is-row{flex-direction:row;align-items:center;gap:12px}.visual-card-chevron{color:var(--label-tertiary);flex-shrink:0}.card-grid.is-ops{grid-template-columns:1fr}.kitchen-panel{border-radius:var(--radius-card);background:var(--bg-elevated);box-shadow:var(--shadow-card);margin:8px 0 20px;padding:16px}.kitchen-section-head{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:14px;display:flex}.kitchen-section-head h2,.kitchen-section-head p{margin:0}.kitchen-section-link{min-height:44px;color:var(--tint);cursor:pointer;background:0 0;border:0;flex-shrink:0;align-items:center;gap:4px;padding:0;font-size:13px;font-weight:650;display:inline-flex}.stock-gauge-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.stock-gauge,.equipment-card{background:var(--bg-grouped);width:100%;color:inherit;text-align:center;border:0;border-radius:14px;flex-direction:column;align-items:center;gap:8px;padding:12px 8px 10px;display:flex}.stock-gauge.is-button,.equipment-card.is-button{cursor:pointer}.stock-gauge.is-selected{box-shadow:inset 0 0 0 2px var(--tint);background:var(--tint-fill)}.stock-gauge-head{justify-content:center;align-items:center;gap:6px;width:100%;display:flex}.stock-gauge-icon{background:var(--tint-fill);width:28px;height:28px;color:var(--tint);border-radius:8px;flex-shrink:0;place-items:center;display:grid;overflow:hidden}.stock-gauge-icon img,.ingredient-pick-icon img,.ingredient-pick-icon .ingredient-glyph-photo,.ingredient-sheet-icon img,.ingredient-sheet-icon .ingredient-glyph-photo{object-fit:cover;width:100%;height:100%}.ingredient-glyph-photo{object-fit:cover;border-radius:8px}.stock-gauge-name{white-space:nowrap;text-overflow:ellipsis;font-size:13px;font-weight:650;overflow:hidden}.stock-gauge-bar{width:18px;height:92px;position:relative}.stock-gauge-well{background:var(--bg-fill);border-radius:999px;height:100%;position:relative;overflow:hidden}.stock-gauge-fill{background:var(--success);border-radius:999px;position:absolute;bottom:0;left:0;right:0}.stock-gauge.tone-warning .stock-gauge-fill{background:var(--warning)}.stock-gauge.tone-critical .stock-gauge-fill{background:var(--danger)}.stock-gauge-reserved{pointer-events:none;background:repeating-linear-gradient(-45deg,#ffffff8c 0 3px,#3c24152e 3px 6px);position:absolute;bottom:0;left:0;right:0}.stock-gauge-min{border-top:1.5px dashed var(--danger);pointer-events:none;position:absolute;left:-5px;right:-5px}.stock-gauge-qty{font-size:12px;font-weight:700}.stock-gauge-spacer{min-height:20px}.stock-legend{color:var(--label-secondary);flex-wrap:wrap;gap:12px 16px;margin-top:12px;font-size:12px;display:flex}.receive-panel .form-row{margin-top:10px}.stock-legend span{align-items:center;gap:6px;display:inline-flex}.stock-legend i{border-radius:3px;width:10px;height:10px;display:block}.stock-legend-fill{background:var(--success)}.stock-legend-min{border-top:1.5px dashed var(--danger);border-radius:0;height:0}.stock-legend-max{background:var(--bg-fill);box-shadow:inset 0 0 0 1px var(--separator)}.equipment-grid{grid-template-columns:1fr;gap:10px;display:grid}.equipment-card{text-align:left;background:var(--bg-elevated);box-shadow:var(--shadow-card);align-items:stretch;padding:14px}.equipment-card.is-selected{box-shadow:inset 0 0 0 2px var(--tint), var(--shadow-card)}.equipment-card.is-add{text-align:center;min-height:132px;color:var(--tint);background:var(--bg-grouped);box-shadow:none;justify-content:center;align-items:center;gap:10px}.equipment-add-icon{background:var(--tint-fill);width:44px;height:44px;color:var(--tint);border-radius:14px;place-items:center;display:grid}.equipment-card-head{align-items:center;gap:10px;display:flex}.equipment-card-copy{flex:1;min-width:0}.equipment-card-chevron{color:var(--label-tertiary);flex-shrink:0}.equipment-card-art{background:var(--tint-fill);width:56px;height:56px;color:var(--tint);border-radius:12px;flex:0 0 56px;place-items:center;display:grid;position:relative;overflow:hidden}.equipment-card-art img,.equipment-sheet-art img{object-fit:cover;width:100%;height:100%}.equipment-card-photo-btn{background:color-mix(in srgb, var(--bg-elevated) 90%, transparent);width:24px;height:24px;color:var(--label);box-shadow:var(--shadow-card);border:0;border-radius:999px;place-items:center;display:grid;position:absolute;bottom:2px;right:2px}.equipment-sheet-art{border-radius:var(--radius-card);background:var(--tint-fill);height:140px;margin-bottom:12px;overflow:hidden}.equipment-card-head .visual-card-title{margin-bottom:4px}.equipment-attrs{color:var(--label);flex-direction:column;gap:2px;margin:4px 0 0;padding:0;font-size:13px;list-style:none;display:flex}.equipment-attrs .is-location{color:var(--label-secondary);font-size:12px}.kitchen-sheet-stats{gap:8px;margin:0;display:grid}.kitchen-sheet-stats div{justify-content:space-between;gap:12px;display:flex}.kitchen-sheet-stats dt{color:var(--label-secondary);font-size:13px}.kitchen-sheet-stats dd{text-align:right;margin:0;font-weight:650}@media (width>=768px){.card-grid.is-ops{grid-template-columns:repeat(3,minmax(0,1fr))}.stock-gauge-grid{grid-template-columns:repeat(6,minmax(0,1fr))}.equipment-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width>=1200px){.card-grid.is-ops{grid-template-columns:repeat(3,minmax(0,1fr))}.stock-gauge-grid{grid-template-columns:repeat(9,minmax(0,1fr))}.equipment-grid{grid-template-columns:repeat(6,minmax(0,1fr))}}.recipe-page{padding:8px 16px 40px}.recipe-hero{flex-wrap:wrap;align-items:center;gap:12px 16px;margin-bottom:18px;display:flex}.recipe-back{margin-right:4px}.recipe-hero-main{flex:1;align-items:center;gap:12px;min-width:0;display:flex}.recipe-hero-art{background:var(--tint-fill);width:56px;height:56px;color:var(--tint);border-radius:14px;flex-shrink:0;place-items:center;display:grid;overflow:hidden}.recipe-hero-art img{object-fit:cover;width:100%;height:100%}.recipe-hero h1{margin:0}.recipe-toolbar{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;margin-left:auto;display:flex;position:relative}.recipe-tool{background:var(--bg-elevated);min-height:36px;box-shadow:inset 0 0 0 var(--hairline) var(--separator);border-radius:12px;align-items:center;gap:6px;width:auto;padding:6px 12px;font-size:13px;font-weight:650;display:inline-flex}.recipe-tool.is-primary{background:var(--tint);color:#fcfbfa;box-shadow:none}.recipe-tool.is-on{background:var(--tint-fill);color:var(--tint)}.recipe-tool.is-danger{color:var(--danger)}.recipe-icon-btn{width:36px;height:36px;color:var(--label-secondary);border-radius:10px;place-items:center;display:grid}.recipe-version-picker,.recipe-more{position:relative}.recipe-version-btn{padding-right:10px}.recipe-version-btn.tone-ready{background:#2f9e441f}.recipe-version-btn.tone-attention{background:color-mix(in srgb, var(--warning) 16%, var(--bg-elevated))}.recipe-menu{background:var(--bg-elevated);min-width:220px;box-shadow:var(--shadow-card);z-index:8;border-radius:12px;margin-top:6px;padding:6px;position:absolute;top:100%;right:0}.recipe-version-menu{min-width:240px;left:0;right:auto}.navbar-new{display:inline-block;position:relative}.navbar-new-menu{z-index:20}.recipe-menu button{text-align:left;border-radius:10px;align-items:center;gap:10px;width:100%;padding:10px 12px;display:flex}.recipe-menu button.is-selected{background:var(--tint-fill)}.recipe-menu button.is-danger{color:var(--danger)}.recipe-version-row{justify-content:space-between;align-items:center;gap:8px;display:flex}.recipe-version-create{color:var(--tint);font-weight:650}.recipe-version-hint{margin:6px 8px 4px}.recipe-summary,.recipe-panel{--recipe-panel-pad:16px;background:var(--bg-elevated);border-radius:var(--radius-card);box-shadow:var(--shadow-card);padding:var(--recipe-panel-pad);margin-bottom:16px}.recipe-section-title{margin:0;font-size:15px;font-weight:700}.recipe-metrics{flex-wrap:nowrap;align-items:stretch;gap:10px;margin-top:12px;display:flex}.recipe-metrics.is-live{margin-top:0}.recipe-metrics.is-live .recipe-metric{align-items:center}.recipe-metrics.is-live .recipe-metric>span:first-child{flex-shrink:0;font-size:18px;line-height:1}.recipe-warnings{flex-wrap:wrap;gap:8px;margin-top:12px;display:flex}.recipe-warning{background:color-mix(in srgb, var(--warning) 16%, var(--bg-grouped));min-height:32px;color:var(--label);border-radius:10px;width:auto;padding:6px 10px;font-size:13px;font-weight:650}.recipe-editing{color:var(--tint);font-size:12px;font-weight:700}.recipe-metric{background:var(--bg-grouped);border-radius:14px;align-items:flex-start;gap:10px;padding:10px;display:flex}.recipe-metric strong{font-size:16px;display:block}.recipe-metric .money{display:flex}.recipe-metric.is-action{text-align:left;cursor:pointer;width:100%}.recipe-metric.is-action:hover{background:color-mix(in srgb, var(--tint) 10%, var(--bg-grouped))}.recipe-metric.is-action:focus-visible{outline:2px solid var(--tint);outline-offset:2px}.recipe-metric-chevron{color:var(--label-tertiary);flex-shrink:0;margin-left:auto}.recipe-metric-icon{font-size:18px;line-height:1}.recipe-timing{flex:220px;grid-template-columns:auto minmax(0,1fr);grid-template-areas:"head legend""track track";align-items:center;gap:6px 12px;min-width:220px;padding:8px 12px;display:grid}.recipe-timing-head{grid-area:head;align-items:center;gap:8px;display:flex}.recipe-timing-legend{flex-wrap:wrap;grid-area:legend;justify-content:flex-end;gap:4px 12px;margin:0;padding:0;list-style:none;display:flex}.recipe-timing-track{background:color-mix(in srgb, var(--label) 10%, var(--bg-elevated));border-radius:999px;grid-area:track;align-items:stretch;gap:2px;height:10px;padding:2px;display:flex;overflow:hidden}.recipe-timing-seg{border-radius:999px;flex-basis:0;min-width:0}.recipe-timing-seg.is-labor{background:#e8b07a}.recipe-timing-seg.is-oven{background:#e07a3a}.recipe-timing-seg.is-passive{background:#c989a0}.recipe-timing-seg.is-gap{background:0 0}.recipe-timing-legend li{align-items:center;gap:5px;min-width:0;display:flex}.recipe-timing-legend .caption{font-size:11px}.recipe-timing-legend strong{font-variant-numeric:tabular-nums;font-size:13px}.recipe-timing-swatch{border-radius:99px;flex-shrink:0;width:8px;height:8px}.recipe-timing-swatch.is-labor{background:#e8b07a}.recipe-timing-swatch.is-oven{background:#e07a3a}.recipe-timing-swatch.is-passive{background:#c989a0}.recipe-timing-legend-icon{font-size:12px;line-height:1}.recipe-cost-yield{flex:0 0 320px;min-width:240px;max-width:360px}.recipe-cost-yield-copy{flex:1;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;min-width:0;display:grid}.recipe-cost-yield-qty{justify-items:start;gap:1px;min-width:0;display:grid}.recipe-cost-yield-price{justify-items:end;min-width:0;display:grid}.recipe-cost-yield-price .money{justify-items:end;display:grid}.recipe-cost-yield-each{background:color-mix(in srgb, var(--label) 22%, transparent);border:0;border-radius:1px;flex:none;align-self:stretch;width:1px;height:auto;margin:2px 12px;padding:0}.recipe-cost-yield-pieces{font-variant-numeric:tabular-nums;font-size:16px;font-weight:700;line-height:1.15}.recipe-cost-yield-qty .caption{text-overflow:ellipsis;white-space:nowrap;max-width:100%;overflow:hidden}.recipe-cost-yield-summary{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:0 0 16px;display:grid}.recipe-cost-yield-summary>div,.recipe-cost-yield-summary>button,.recipe-cost-yield-summary>form{background:var(--bg-grouped);border-radius:12px;padding:10px 12px}.recipe-cost-yield-summary strong{margin-top:2px;font-size:16px;display:block}.recipe-cost-yield-edit{min-width:0;font:inherit;color:inherit;text-align:start;cursor:pointer;gap:2px;margin:0;display:grid}.recipe-cost-yield-edit:hover{background:color-mix(in srgb, var(--tint) 10%, var(--bg-grouped))}.recipe-cost-yield-edit:focus-visible,.recipe-cost-yield-edit:focus-within{box-shadow:inset 0 0 0 2px var(--tint)}.recipe-cost-yield-edit-hit{width:100%;min-width:0;font:inherit;color:inherit;text-align:start;cursor:pointer}.recipe-cost-yield-edit>label{cursor:text;min-width:0;display:grid}.recipe-cost-yield-edit-value{width:100%;font:inherit;color:inherit;background:0 0;border:0;outline:none;margin:2px 0 0;padding:0;font-size:16px;font-weight:700;display:block}.recipe-yield-form{gap:10px;margin:0 0 18px;display:grid}.recipe-yield-lead{margin:0}.recipe-composition-mini{width:36px;min-width:36px;min-height:36px}.recipe-composition-mini-graph{display:block}.recipe-composition-mini-graph line{stroke:color-mix(in srgb, var(--label) 32%, transparent);stroke-width:1px}.recipe-composition-mini-graph circle.is-ingredient{fill:color-mix(in srgb, var(--tint) 45%, #d9cfc4)}.recipe-composition-mini-graph circle.is-recipe{fill:var(--tint)}.recipe-composition-mini-graph circle.is-variant{fill:#c4a484}.recipe-composition-mini-graph circle.is-batch{fill:#8b5e34}.recipe-composition-mini-graph circle.is-product{fill:color-mix(in srgb, var(--tint) 70%, #fff)}.recipe-metric.is-action.recipe-composition-metric{flex:none;justify-content:center;width:auto;min-width:0;max-width:none;padding:8px}.recipe-composition-metric .recipe-composition-mini{background:0 0;place-items:center;width:22px;min-width:22px;min-height:18px;padding:0;display:grid}.recipe-metrics.is-live .recipe-composition-metric>span:first-child{font-size:inherit}.recipe-workspace{gap:16px;display:grid;overflow:visible}.main-recipe-chip{background:var(--bg-grouped);border-radius:14px;align-items:center;gap:8px;margin:0 0 10px;padding:4px;display:flex}.recipe-inherited-ingredients{gap:6px;margin:0 0 12px;padding:0;list-style:none;display:grid}.recipe-inherited-ingredients .recipe-component{background:color-mix(in srgb, var(--bg-grouped) 80%, transparent);border-radius:12px;min-height:52px;padding:8px 10px}.recipe-inherited-ingredients .recipe-component.is-imported{box-shadow:inset 0 0 0 2px var(--import-color,#7b5ea7)}.recipe-inherited-ingredients .recipe-component-text{cursor:pointer}.recipe-component.is-inherited{opacity:.92}.recipe-component.is-inherited.is-adjusted{opacity:1;box-shadow:inset 0 0 0 2px var(--import-color,#7b5ea7)}.recipe-output-list{gap:8px;margin:8px 0 0;padding:0;list-style:none;display:grid}.recipe-output-row{justify-content:space-between;align-items:center;gap:12px;display:flex}.recipe-output-row>div{gap:2px;display:grid}.recipe-output-count{font-variant-numeric:tabular-nums;font-weight:600}.main-recipes-panel{margin-bottom:16px;overflow:hidden}.recipe-panel-title-row,.main-recipe-use-head,.main-recipe-step-row,.main-recipe-empty,.main-recipe-follow-note{align-items:center;gap:12px;display:flex}.recipe-panel-title-row,.main-recipe-use-head{justify-content:space-between}.main-recipe-empty,.main-recipe-follow-note{background:var(--bg-grouped);border-radius:14px;min-height:64px;padding:12px 14px}.main-recipe-empty p,.main-recipe-follow-note p{margin:3px 0 0}.main-recipe-use-list{gap:12px;margin-top:12px;display:grid}.main-recipe-use-card{background:var(--bg-grouped);box-shadow:inset 0 0 0 var(--hairline) var(--separator);border-radius:16px;animation:.22s cubic-bezier(.2,.8,.2,1) both main-recipe-enter;overflow:hidden}.main-recipe-use-head{padding:8px}.main-recipe-open,.main-recipe-pick-row{text-align:left;border-radius:12px;align-items:center;gap:12px;width:100%;min-height:52px;padding:8px;display:flex}.main-recipe-open>span:nth-child(2),.main-recipe-pick-row>span:nth-child(2){flex:1;gap:2px;min-width:0;display:grid}.main-recipe-pick-icon{width:38px;height:38px;color:var(--tint);background:var(--tint-fill);border-radius:11px;flex:0 0 38px;place-items:center;display:grid}.recipe-icon-btn.is-danger{min-width:44px;min-height:44px;color:var(--danger)}.main-recipe-ingredients{border-top:var(--hairline) solid var(--separator);border-bottom:var(--hairline) solid var(--separator)}.main-recipe-ingredients summary{cursor:pointer;min-height:44px;color:var(--label-secondary);align-items:center;padding:8px 14px;font-size:13px;font-weight:650;display:flex}.main-recipe-ingredients ul{margin:0;padding:0 14px 10px;list-style:none}.main-recipe-ingredients li{justify-content:space-between;gap:12px;padding:6px 0;font-size:13px;display:flex}.main-recipe-step-list{padding:8px}.main-recipe-step-row{border-radius:12px;justify-content:space-between;min-height:56px;padding:7px 8px}.main-recipe-step-row.is-product{background:color-mix(in srgb, var(--tint) 10%, var(--bg-elevated))}.main-recipe-step-copy{align-items:center;gap:10px;min-width:0;display:flex}.main-recipe-step-copy>span:last-child{gap:2px;display:grid}.main-recipe-step-number{background:var(--bg-elevated);width:28px;height:28px;color:var(--label-secondary);border-radius:50%;flex:0 0 28px;place-items:center;font-size:12px;font-weight:750;display:grid}.main-recipe-insert{min-height:44px;color:var(--tint);background:var(--tint-fill);border-radius:12px;justify-content:center;align-items:center;gap:6px;padding:8px 12px;font-size:12px;font-weight:700;display:inline-flex}.main-recipe-insert.is-compact{border-radius:10px;gap:4px;min-height:32px;padding:4px 10px;font-size:11px}.main-recipe-sheet{width:min(620px,100%);max-height:min(760px,100dvh - 32px);padding-bottom:max(14px, env(safe-area-inset-bottom));animation:.26s cubic-bezier(.2,.8,.2,1) both main-recipe-sheet-up;overflow:auto}.main-recipe-search{position:relative}.main-recipe-search>svg{z-index:1;color:var(--label-tertiary);pointer-events:none;position:absolute;bottom:13px;left:12px}.main-recipe-search input{padding-left:38px}.main-recipe-pick-list{gap:4px;display:grid}.main-recipe-pick-row{background:var(--bg-elevated);box-shadow:inset 0 0 0 var(--hairline) var(--separator)}.main-recipe-scale-field{grid-template-columns:minmax(0,1fr) 44px;align-items:center;display:grid}.main-recipe-scale-field>span{text-align:center;color:var(--label-secondary);font-weight:700}@keyframes main-recipe-enter{0%{opacity:0;transform:translateY(6px)scale(.99)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes main-recipe-sheet-up{0%{opacity:0;transform:translateY(18px)scale(.985)}to{opacity:1;transform:translateY(0)scale(1)}}@media (width<=700px){.main-recipe-step-row{flex-direction:column;align-items:flex-start}.main-recipe-insert{width:100%}.main-recipe-insert.is-compact{width:auto}}@media (prefers-reduced-motion:reduce){.main-recipe-use-card,.main-recipe-sheet{animation:none}}.recipe-panel{margin-bottom:0}.recipe-panel-head{justify-content:space-between;align-items:center;gap:10px;margin-bottom:12px;display:flex}.recipe-panel-tools{flex-wrap:nowrap;flex-shrink:0;align-items:center;gap:6px;margin-left:auto;display:flex}.recipe-tool.is-icon{border-radius:10px;justify-content:center;gap:0;width:32px;min-width:32px;min-height:32px;padding:0}.recipe-components,.recipe-steps{flex-direction:column;gap:8px;display:flex}.recipe-component,.recipe-step{background:var(--bg-grouped);text-align:left;border-radius:14px;align-items:center;gap:10px;width:100%;min-height:52px;padding:8px 10px;display:flex}.recipe-component.is-sub{box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--tint) 22%, transparent)}.recipe-step.is-selected,.recipe-gantt-bar.is-selected{box-shadow:inset 0 0 0 2px var(--tint)}.recipe-glyph{background:var(--bg-elevated);border-radius:10px;flex-shrink:0;place-items:center;width:32px;height:32px;display:grid}.recipe-component-text{min-width:0;min-height:44px;color:inherit;font:inherit;text-align:left;background:0 0;border:0;flex-direction:row;flex:1;justify-content:space-between;align-items:center;gap:12px;padding:2px 0;display:flex}.recipe-component-text strong,.recipe-step strong{text-overflow:ellipsis;white-space:nowrap;max-width:100%;display:block;overflow:hidden}.recipe-component-text strong{flex:1;min-width:0}.recipe-component-text .recipe-qty,.recipe-import-ingredients .recipe-qty{min-height:0;color:var(--label-secondary);font-variant-numeric:tabular-nums;text-align:right;white-space:nowrap;flex-shrink:0;margin-left:auto;padding:0;font-size:13px;font-weight:650}.recipe-qty-stack{text-align:right;flex-direction:row;flex-shrink:0;align-items:baseline;gap:8px;margin-left:auto;display:flex}.recipe-qty-was{color:var(--label-tertiary);font-variant-numeric:tabular-nums;white-space:nowrap;font-size:12px;font-weight:600;line-height:1;text-decoration:line-through;text-decoration-thickness:1px}.recipe-component-text.is-adjusted .recipe-qty{color:var(--tint)}.recipe-step-label{background:var(--bg-elevated);min-width:28px;height:28px;color:var(--label-secondary);border-radius:8px;flex-shrink:0;place-items:center;padding:0 6px;font-size:12px;font-weight:700;line-height:1;display:grid}.recipe-grip{color:var(--label-tertiary);flex-shrink:0}.recipe-grip-btn{width:28px;height:44px;color:var(--label-tertiary);touch-action:none;cursor:grab;flex-shrink:0;place-items:center;margin:-6px -4px -6px -8px;display:grid}.recipe-grip-btn:disabled{opacity:.35;cursor:default}.recipe-grip-btn:active,.recipe-component-block.is-dragging .recipe-grip-btn{cursor:grabbing}.recipe-order-btns{flex-shrink:0;gap:2px;display:flex}.recipe-order-btns .recipe-icon-btn,.recipe-component .recipe-icon-btn{width:44px;height:44px}.recipe-panel.is-reordering{-webkit-user-select:none;user-select:none}.recipe-component-block.is-drop-target .recipe-component{box-shadow:inset 0 0 0 2px var(--tint)}.recipe-step-index{width:22px;color:var(--label-tertiary);font-size:12px;font-weight:700}.recipe-empty{background:var(--bg-grouped);border-radius:14px;flex-direction:column;align-items:flex-start;gap:12px;margin:0 0 12px;padding:16px;display:flex}.recipe-link-hint{margin:0 0 12px}.recipe-gantt{margin-bottom:0;overflow:visible}.recipe-gantt-scroll{overflow-x:auto}.recipe-gantt.is-live .recipe-gantt-track{min-height:48px}.recipe-gantt.is-linking .recipe-gantt-bar{cursor:crosshair}.recipe-gantt-toolbar{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:10px;display:flex}.recipe-gantt-zoom{align-items:center;gap:6px;margin-left:auto;display:inline-flex}.recipe-gantt-inner{min-width:100%}.recipe-gantt-axis,.recipe-gantt-lane{min-width:0}.recipe-saved{background:color-mix(in srgb, var(--success,#2f9e44) 16%, var(--bg-grouped));border-radius:999px;padding:4px 10px;font-size:12px;font-weight:700}.recipe-add-step{margin-left:auto;position:relative}.recipe-step-palette{z-index:30;min-width:196px;max-height:none;margin-top:0;position:fixed;top:auto;left:auto;overflow-y:visible}.recipe-step-palette.is-dragging{visibility:hidden;pointer-events:none}.recipe-step-palette-hint{margin:4px 8px 6px}.recipe-palette-chip{cursor:grab;align-items:center;gap:8px;padding:7px 10px;display:flex}.recipe-palette-chip:active{cursor:grabbing}.recipe-gantt-body{--gantt-label:88px;--gantt-label-gap:8px;position:relative}.recipe-gantt-axis,.recipe-gantt-lane{grid-template-columns:var(--gantt-label,88px) 1fr;gap:var(--gantt-label-gap,8px);align-items:center;min-width:0;display:grid}.recipe-gantt-axis{margin:-4px 0 8px}.recipe-gantt-ticks{border-bottom:var(--hairline) solid var(--separator);height:36px;position:relative}.recipe-gantt-tick{pointer-events:none;width:0;position:absolute;top:0;bottom:0;transform:translate(-50%)}.recipe-gantt-tick:before{content:"";background:color-mix(in srgb, var(--label-tertiary) 70%, transparent);width:1px;height:6px;position:absolute;bottom:0;left:50%;transform:translate(-50%)}.recipe-gantt-tick.is-major:before{background:var(--label-secondary);height:12px}.recipe-gantt-tick.is-major span{color:var(--label-secondary);letter-spacing:-.02em;white-space:nowrap;font-size:11px;font-weight:650;line-height:1;position:absolute;bottom:14px;left:50%;transform:translate(-50%)}.recipe-gantt-tick:first-child span{left:0;transform:none}.recipe-gantt-tick.is-end span{color:var(--label);transform:translate(-100%)}.recipe-gantt-axis.is-foot{margin:8px 0 0}.recipe-gantt-axis.is-foot .recipe-gantt-ticks{border-bottom:0;border-top:var(--hairline) solid var(--separator)}.recipe-gantt-axis.is-foot .recipe-gantt-tick:before{top:0;bottom:auto}.recipe-gantt-axis.is-foot .recipe-gantt-tick.is-major span{top:14px;bottom:auto}.recipe-gantt-lane-label{font:inherit;color:var(--label-secondary);cursor:pointer;text-align:left;background:0 0;border:0;align-items:center;gap:6px;margin:0;padding:0;font-size:12px;display:flex}.recipe-gantt-lane.is-dim{opacity:.38}.recipe-gantt-lane.is-focus .recipe-gantt-lane-label{color:var(--label);font-weight:650}.recipe-gantt-track{background:linear-gradient(var(--separator), var(--separator)) left top / 100% 1px no-repeat, var(--bg-grouped);border-radius:10px;height:42px;position:relative}.recipe-gantt-bar{text-align:left;color:#3c2415;cursor:grab;-webkit-user-select:none;user-select:none;touch-action:none;border-radius:8px;height:30px;padding:4px 10px;position:absolute;top:6px;overflow:visible}.recipe-gantt-bar.is-warn{box-shadow:inset 0 0 0 2px var(--warning)}.recipe-gantt-bar strong,.recipe-gantt-bar span{white-space:nowrap;font-size:11px;line-height:1.15;display:block}.recipe-gantt-resize{cursor:ew-resize;z-index:2;width:8px;position:absolute;top:4px;bottom:4px}.recipe-gantt-resize:after{content:"";background:#3c241573;border-radius:999px;width:2px;position:absolute;top:6px;bottom:6px;left:3px}.recipe-gantt-resize.is-end{right:0}.recipe-gantt-resize.is-start{left:0}.recipe-gantt-thumb{object-fit:cover;border-radius:6px;width:22px;height:22px;position:absolute;top:4px;left:12px}.recipe-gantt-bar:has(.recipe-gantt-thumb) strong{padding-left:28px}.recipe-gantt-bar:has(.recipe-gantt-thumb)>span:not(.recipe-gantt-resize):not(.recipe-gantt-handle){padding-left:28px}.recipe-gantt-handle{background:var(--tint);z-index:2;border-radius:999px;width:10px;height:10px;position:absolute;top:50%;transform:translateY(-50%)}.recipe-gantt-handle.is-in{left:-5px}.recipe-gantt-handle.is-out{right:-5px}.recipe-gantt-links{top:0;bottom:0;right:0;left:calc(var(--gantt-label,88px) + var(--gantt-label-gap,8px));pointer-events:none;z-index:1;position:absolute;overflow:visible}.recipe-gantt-links svg{width:100%;height:100%;display:block;overflow:visible}.recipe-gantt-link{fill:none;stroke:var(--tint);stroke-width:2px;stroke-dasharray:4 3;stroke-linecap:round;opacity:.45;vector-effect:non-scaling-stroke}.recipe-gantt-link.is-active{opacity:.95;stroke-width:2.5px}.recipe-gantt-menu{z-index:20;background:var(--bg-elevated);min-width:180px;box-shadow:var(--shadow-card);border-radius:12px;padding:6px;position:fixed}.recipe-gantt-menu button{text-align:left;border-radius:8px;width:100%;padding:8px 10px;display:block}.recipe-gantt-menu-label{color:var(--label-secondary);padding:8px 10px 4px;font-size:11px}.recipe-gantt-menu .is-danger{color:var(--danger)}.recipe-qty{width:auto;color:var(--label-secondary);background:0 0;font-size:12px;font-weight:650}.recipe-qty-input{width:72px}.recipe-publish-checks{margin:12px 0;padding:0;list-style:none}.recipe-publish-checks li{padding:6px 0;font-weight:650}.recipe-publish-checks .is-ok{color:var(--success,#2f9e44)}.recipe-publish-checks .is-bad{color:var(--warning)}.recipe-gantt-bar.is-labor{background:#f3d5b5}.recipe-gantt-bar.is-sub{background:#d4c4ee}.recipe-gantt-bar.is-prewarm{background:#c8e6c0}.recipe-gantt-bar.is-bake{background:#f0b27a}.recipe-gantt-bar.is-rest{background:#f5c6d0}.recipe-gantt-bar.is-finish{background:#e0c8d8}.recipe-gantt-bar.is-mix{background:#c5d4f0}.recipe-gantt-bar.is-verify{background:#d7e8c8}.recipe-gantt-bar.is-photo{background:#d5e4f4}.is-import-0{--import-color:#7b5ea7}.is-import-1{--import-color:#3d8b8b}.is-import-2{--import-color:#b85c78}.is-import-3{--import-color:#c4893a}.is-import-4{--import-color:#4f7ab8}.is-import-5{--import-color:#6b8f3d}.recipe-gantt-bar.is-imported{background-image:repeating-linear-gradient(-45deg,#0000,#0000 5px,#ffffff38 5px 8px)}.recipe-gantt-bar.is-import-0{box-shadow:inset 0 0 0 2px #7b5ea7}.recipe-gantt-bar.is-import-1{box-shadow:inset 0 0 0 2px #3d8b8b}.recipe-gantt-bar.is-import-2{box-shadow:inset 0 0 0 2px #b85c78}.recipe-gantt-bar.is-import-3{box-shadow:inset 0 0 0 2px #c4893a}.recipe-gantt-bar.is-import-4{box-shadow:inset 0 0 0 2px #4f7ab8}.recipe-gantt-bar.is-import-5{box-shadow:inset 0 0 0 2px #6b8f3d}.recipe-gantt-bar.is-imported.is-selected{box-shadow:inset 0 0 0 2px var(--tint)}.recipe-component-block.is-import-0 .recipe-component.is-imported,.recipe-component-block.is-import-0 .recipe-import-ingredients{border-color:#7b5ea7}.recipe-component-block.is-import-1 .recipe-component.is-imported,.recipe-component-block.is-import-1 .recipe-import-ingredients{border-color:#3d8b8b}.recipe-component-block.is-import-2 .recipe-component.is-imported,.recipe-component-block.is-import-2 .recipe-import-ingredients{border-color:#b85c78}.recipe-component-block.is-import-3 .recipe-component.is-imported,.recipe-component-block.is-import-3 .recipe-import-ingredients{border-color:#c4893a}.recipe-component-block.is-import-4 .recipe-component.is-imported,.recipe-component-block.is-import-4 .recipe-import-ingredients{border-color:#4f7ab8}.recipe-component-block.is-import-5 .recipe-component.is-imported,.recipe-component-block.is-import-5 .recipe-import-ingredients{border-color:#6b8f3d}.recipe-component.is-imported{border-color:inherit;box-shadow:inset 0 0 0 1.5px}.recipe-import-ingredients{border-left:2px solid #7b5ea7;flex-direction:column;gap:4px;margin:-4px 0 8px;padding:8px 12px 10px 42px;list-style:none;display:flex}.recipe-import-ingredients li{color:var(--label-secondary);justify-content:space-between;gap:8px;font-size:13px;display:flex}.recipe-flow-card.is-imported{box-shadow:inset 0 0 0 2px var(--import-color,#7b5ea7)}.recipe-flow-card.is-import-0{box-shadow:inset 0 0 0 2px #7b5ea7}.recipe-flow-card.is-import-1{box-shadow:inset 0 0 0 2px #3d8b8b}.recipe-flow-card.is-import-2{box-shadow:inset 0 0 0 2px #b85c78}.recipe-flow-card.is-import-3{box-shadow:inset 0 0 0 2px #c4893a}.recipe-flow-card.is-import-4{box-shadow:inset 0 0 0 2px #4f7ab8}.recipe-flow-card.is-import-5{box-shadow:inset 0 0 0 2px #6b8f3d}.recipe-metro-card.is-imported{box-shadow:inset 0 0 0 2px var(--import-color,#7b5ea7)}.recipe-metro-card.is-import-0{box-shadow:inset 0 0 0 2px #7b5ea7}.recipe-metro-card.is-import-1{box-shadow:inset 0 0 0 2px #3d8b8b}.recipe-metro-card.is-import-2{box-shadow:inset 0 0 0 2px #b85c78}.recipe-metro-card.is-import-3{box-shadow:inset 0 0 0 2px #c4893a}.recipe-metro-card.is-import-4{box-shadow:inset 0 0 0 2px #4f7ab8}.recipe-metro-card.is-import-5{box-shadow:inset 0 0 0 2px #6b8f3d}.main-recipe-chip.is-imported{box-shadow:inset 0 0 0 2px var(--import-color,#7b5ea7)}.main-recipe-chip.is-imported .main-recipe-pick-icon{color:var(--import-color,#7b5ea7);background:color-mix(in srgb, var(--import-color,#7b5ea7) 16%, var(--bg-elevated))}.inspector-gantt-chip.is-imported{box-shadow:inset 0 0 0 1.5px #7b5ea7}.recipe-inspector{background:var(--bg-elevated);border-radius:var(--radius-card);box-shadow:var(--shadow-card);max-height:min(80vh,720px);padding:16px;overflow:auto}.recipe-inspector.is-empty{place-items:center;min-height:160px;display:grid}.recipe-inspector-head{justify-content:space-between;align-items:center;gap:8px;margin-bottom:14px;display:flex}.recipe-inspector-kicker{color:var(--label-secondary);align-items:center;gap:6px;font-size:12px;display:flex}.inspector-type-icon{background:var(--bg-grouped);width:44px;height:44px;color:var(--tint);border-radius:14px;flex-shrink:0;place-items:center;display:grid}.inspector-name{flex:1;min-width:0;font-weight:700}.recipe-inspector-remove{background:color-mix(in srgb, var(--danger) 12%, var(--bg-grouped));margin-top:16px}.inspector-minutes{background:var(--bg-grouped);border-radius:18px;align-items:center;gap:8px;margin-bottom:14px;padding:8px;display:flex}.inspector-minutes-icon{width:44px;height:44px;color:var(--tint);place-items:center;display:grid}.inspector-minutes-value{text-align:center;flex:1}.inspector-minutes-value strong{font-size:36px;font-weight:700;line-height:1}.inspector-step-btn{background:var(--bg-elevated);border-radius:14px;width:44px;height:44px;font-size:22px;font-weight:650}.inspector-thermo{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-bottom:14px;display:grid}.inspector-thermo-btn{background:var(--bg-grouped);border-radius:16px;flex-direction:column;align-items:center;gap:6px;min-height:88px;padding:10px 4px;display:flex}.inspector-thermo-btn strong{background:var(--bg-elevated);border-radius:999px;place-items:center;width:40px;height:40px;font-size:18px;font-weight:700;display:grid}.inspector-thermo-btn span{color:var(--label-secondary);font-size:11px;font-weight:650}.inspector-thermo-btn.is-on{background:var(--tint);color:#fff}.inspector-thermo-btn.is-on strong{color:#fff;background:#ffffff2e}.inspector-thermo-btn.is-on span{color:#ffffffe6}.inspector-thermo-btn.is-near strong{box-shadow:inset 0 0 0 2px var(--tint)}.inspector-icon-grid{grid-template-columns:repeat(auto-fill,minmax(64px,1fr));gap:8px;margin-bottom:14px;display:grid}.inspector-icon-grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.inspector-icon-card{background:var(--bg-grouped);border-radius:16px;place-items:center;min-height:64px;padding:10px;display:grid}.inspector-icon-face{background:var(--bg-elevated);width:40px;height:40px;color:var(--tint);border-radius:12px;place-items:center;display:grid}.inspector-icon-card.is-on{background:var(--tint)}.inspector-icon-card.is-on .inspector-icon-face{color:#fff;background:#ffffff29}.inspector-used{flex-wrap:wrap;gap:6px;margin-bottom:12px;display:flex}.inspector-used-chip{background:var(--bg-grouped);width:36px;height:36px;color:var(--tint);border-radius:10px;place-items:center;display:grid}.inspector-wait{background:var(--bg-grouped);border-radius:16px;margin-bottom:12px;padding:10px 10px 8px}.recipe-dep-label{margin:0 0 6px;font-weight:650}.inspector-gantt-chip{border-radius:10px;align-items:center;gap:6px;min-height:36px;padding:4px 10px 4px 8px;font-size:12px;font-weight:650;display:inline-flex}.inspector-gantt-chip.is-muted{opacity:.55}.inspector-gantt-chip.is-labor{background:#f3d5b5}.inspector-gantt-chip.is-sub{background:#d4c4ee}.inspector-gantt-chip.is-prewarm{background:#c8e6c0}.inspector-gantt-chip.is-bake{background:#f0b27a}.inspector-gantt-chip.is-rest{background:#f5c6d0}.inspector-gantt-chip.is-finish{background:#e0c8d8}.inspector-gantt-chip.is-mix{background:#c5d4f0}.inspector-notes-btn{margin-bottom:12px}.recipe-inspector-grid{grid-template-columns:1fr;gap:0;display:grid}.recipe-inline-field{align-items:center;gap:8px;display:flex}.recipe-inline-field .ios-input,.recipe-inline-field .ios-btn{flex:1;width:auto}.recipe-textarea{resize:vertical;min-height:88px}.recipe-dep-list{flex-wrap:wrap;gap:6px;margin-bottom:0;display:flex}.recipe-dep-chip{background:var(--tint-fill);min-height:32px;color:var(--tint);border-radius:999px;padding:4px 10px;font-size:12px;font-weight:650}.recipe-preview-sheet{max-width:720px}.recipe-cost-modal{flex-direction:column;width:min(480px,100%);max-height:min(86dvh,720px);display:flex;overflow:hidden}.recipe-cost-body{flex:1;min-height:0;overflow:auto}.recipe-cost-modal .inset-group{margin:8px 0 12px}.recipe-cost-modal .empty-state{padding:12px 0 8px}.recipe-cost-modal .recipe-modal-actions{flex-shrink:0;margin-top:4px;padding-top:4px}.recipe-json-sheet{gap:12px}.recipe-json-sheet h2{align-items:center;gap:8px;display:flex}.recipe-json-textarea{resize:vertical;white-space:pre;min-height:28vh;max-height:40vh;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12px;line-height:1.45}.recipe-json-loaded{color:var(--label)}.recipe-json-actions{flex-wrap:wrap;gap:8px;display:flex}.recipe-preview-list{margin:12px 0 0;padding-left:18px}.recipe-page.is-frozen .recipe-process{opacity:1}@media (width>=1100px){.recipe-page{padding:8px 24px 40px}.recipe-workspace{grid-template-columns:280px minmax(0,1fr) 300px;align-items:start}}.stock-warehouse{margin:8px 0 20px}.stock-metrics{grid-template-columns:1fr 1fr}.metric-tile.tone-ok .metric-tile-value{color:var(--success)}.metric-tile.tone-attention .metric-tile-value{color:var(--warning)}.metric-tile.tone-blocked .metric-tile-value{color:var(--danger)}.warehouse-grid{grid-template-columns:1fr;gap:10px;display:grid}.warehouse-card{background:var(--bg-grouped);width:100%;color:inherit;text-align:left;cursor:pointer;border:0;border-radius:14px;gap:12px;padding:12px;display:flex}.warehouse-card-art{background:var(--tint-fill);width:56px;height:56px;color:var(--tint);border-radius:12px;flex-shrink:0;place-items:center;display:grid;overflow:hidden}.warehouse-card-art img{object-fit:cover;width:100%;height:100%}.warehouse-card-body{flex:1;min-width:0}.warehouse-card-body p{margin:0 0 8px}.warehouse-variants{flex-direction:column;gap:4px;margin:0;padding:0;list-style:none;display:flex}.warehouse-variants li{justify-content:space-between;gap:8px;font-size:13px;display:flex}.warehouse-variants em{color:var(--label-secondary);font-style:normal}@media (width>=768px){.warehouse-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width>=1200px){.stock-metrics{grid-template-columns:repeat(4,minmax(0,1fr))}.warehouse-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}.recipe-modal-backdrop{z-index:110;background:#3c241573;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.recipe-modal{background:var(--bg-elevated);border-radius:20px;width:min(560px,100%);max-height:min(90dvh,780px);padding:22px 22px 18px;overflow:auto;box-shadow:0 24px 64px #3c241538}.new-product-modal{flex-direction:column;width:min(400px,100%);max-height:min(86dvh,680px);padding:16px 16px 12px;display:flex;overflow:hidden}.new-product-form{flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}.new-product-fields{flex:1;min-height:0;overflow:auto}.new-product-actions{background:var(--bg-elevated);flex-direction:column;flex-shrink:0;gap:6px;padding-top:10px;display:flex}.recipe-modal-head{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.recipe-modal-head h2{margin:0}.recipe-modal-lead{margin:4px 0 12px}.recipe-step-types{grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin-bottom:16px;display:grid}.recipe-step-type{background:var(--bg-grouped);border-radius:14px;flex-direction:column;align-items:center;gap:6px;min-height:72px;padding:10px 6px;font-size:12px;font-weight:650;display:flex}.recipe-step-type-icon{background:var(--bg-elevated);width:32px;height:32px;color:var(--tint);border-radius:10px;place-items:center;display:grid}.recipe-step-type.is-on{background:var(--tint);color:#fcfbfa}.recipe-step-type.is-on .recipe-step-type-icon{color:#fcfbfa;background:#fcfbfa29}.recipe-modal-grid{grid-template-columns:1fr 1fr;gap:12px;display:grid}.recipe-stepper{align-items:center;gap:6px;display:flex}.recipe-stepper .ios-input{text-align:center;min-height:44px}.recipe-stepper-btn{background:var(--bg-grouped);border-radius:12px;flex-shrink:0;width:40px;height:44px;font-size:20px;font-weight:650}.recipe-choice-row{flex-wrap:wrap;gap:6px;display:flex}.recipe-choice{background:var(--bg-grouped);border-radius:12px;align-items:center;gap:6px;min-height:40px;padding:6px 10px;font-size:12px;font-weight:650;display:inline-flex}.recipe-choice.is-on{background:var(--tint-fill);color:var(--tint)}.recipe-modal-actions{justify-content:flex-end;gap:8px;margin-top:8px;display:flex}.recipe-modal-actions.is-edit{justify-content:space-between;align-items:center}.recipe-modal-actions-end{justify-content:flex-end;gap:8px;margin-left:auto;display:flex}.recipe-modal-actions .ios-btn{width:auto;min-width:112px}.ingredient-picker.is-pick{width:min(640px,100%)}.ingredient-pick-section{margin:0 0 16px}.ingredient-pick-section h3{color:var(--secondary-label);margin:0 0 8px;font-size:13px;font-weight:650}.ingredient-pick-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;display:grid}.ingredient-pick-card{background:var(--bg-grouped);border-radius:16px;flex-direction:column;align-items:center;gap:8px;min-height:96px;padding:12px 6px 10px;display:flex}.ingredient-pick-icon{background:var(--bg-elevated);width:48px;height:48px;color:var(--tint);border-radius:14px;place-items:center;display:grid;overflow:hidden;box-shadow:0 1px #3c24150f}.ingredient-pick-icon img,.ingredient-pick-icon .ingredient-glyph-photo{object-fit:cover;width:100%;height:100%}.ingredient-pick-card span{text-align:center;font-size:12px;font-weight:650;line-height:1.2}.ingredient-qty-hero{align-items:center;gap:12px;margin:4px 0 16px;display:flex}.ingredient-qty-hero .ingredient-pick-icon{border-radius:16px;width:56px;height:56px}.ingredient-qty-hero h2{margin:0}.ingredient-picker .preview-link{align-items:center;gap:2px;margin-bottom:8px;display:inline-flex}.ingredient-qty-hint{margin:4px 0 12px}.recipe-library-section{margin:16px 0 8px}.recipe-library-section .inset-header{justify-content:flex-start;align-items:baseline;gap:8px;margin:0 4px 10px;display:flex}.recipe-library-count{color:var(--label-tertiary);font-variant-numeric:tabular-nums}.recipe-library-grid{grid-template-columns:1fr;gap:10px;margin-bottom:8px;display:grid}.recipe-library-card{font:inherit;align-items:stretch;gap:12px}.recipe-library-card-head{align-items:center;gap:12px;min-width:0;display:flex}.recipe-library-card-art{background:var(--tint-fill);width:56px;height:56px;color:var(--tint);border-radius:14px;flex:0 0 56px;place-items:center;display:grid;overflow:hidden}.recipe-library-card-art img{object-fit:cover;width:100%;height:100%}.recipe-library-card-copy{flex:1;min-width:0}.recipe-library-card-copy .visual-card-title{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.recipe-library-card-meta{align-items:center;gap:8px;margin-top:4px;display:flex}.recipe-library-uses{text-overflow:ellipsis;white-space:nowrap;margin:4px 0 0;overflow:hidden}.recipe-library-card-chevron{color:var(--label-tertiary);flex-shrink:0}.recipe-library-stats{grid-template-columns:1fr 1fr;gap:8px;display:grid}.recipe-library-stat{background:var(--bg-grouped);border-radius:12px;flex-direction:column;gap:1px;min-width:0;padding:8px 10px;display:flex}.recipe-library-stat strong{color:var(--tint);font-variant-numeric:tabular-nums;font-size:20px;font-weight:700;line-height:1.1}.recipe-library-stat span{color:var(--label-secondary);font-size:11px;font-weight:650}.recipe-library-stat.is-empty strong,.recipe-library-stat.is-empty span{color:var(--label-tertiary)}.recipe-library-card:focus-visible{box-shadow:inset 0 0 0 2px var(--tint), var(--shadow-card)}@media (width>=768px){.recipe-library-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width>=1400px){.recipe-library-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width<=560px){.recipe-step-types{grid-template-columns:repeat(3,minmax(0,1fr))}.recipe-modal-grid{grid-template-columns:1fr}.ingredient-pick-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.wizard-kind-grid{grid-template-columns:1fr}}.ingredient-wizard-backdrop{z-index:60}.wizard-remove{color:var(--danger);cursor:pointer;background:0 0;border:0;padding:4px 2px;font-size:13px;font-weight:650}.wizard-remove:disabled{opacity:.45}.wizard-dots{gap:6px;margin:0 0 16px;display:flex}.wizard-dot{background:var(--separator);border-radius:999px;width:8px;height:8px}.wizard-dot.is-done{background:color-mix(in srgb, var(--tint) 45%, var(--separator))}.wizard-dot.is-on{background:var(--tint);width:18px}.wizard-kind-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-bottom:8px;display:grid}.wizard-kind-card{background:var(--bg-grouped);text-align:left;border-radius:16px;flex-direction:column;align-items:flex-start;gap:6px;min-height:132px;padding:14px 12px;display:flex}.wizard-kind-card strong{font-size:14px}.wizard-kind-icon{background:var(--bg-elevated);width:36px;height:36px;color:var(--tint);border-radius:10px;place-items:center;display:grid}.wizard-kind-card.is-on{background:var(--tint);color:#fcfbfa}.wizard-kind-card.is-on .wizard-kind-icon{color:#fcfbfa;background:#fcfbfa29}.wizard-kind-card.is-on .caption{color:#fcfbfac7}.wizard-photo{background:var(--bg-grouped);width:100%;height:180px;color:var(--tint);border:0;border-radius:16px;place-items:center;margin-bottom:10px;display:grid;position:relative;overflow:hidden}.wizard-photo img{object-fit:cover;width:100%;height:100%}.wizard-photo-empty{place-items:center;display:grid}.wizard-photo-btn{background:color-mix(in srgb, var(--bg-elevated) 92%, transparent);min-height:36px;color:var(--label);box-shadow:var(--shadow-card);border-radius:999px;align-items:center;gap:6px;padding:6px 12px;font-size:13px;font-weight:650;display:inline-flex;position:absolute;bottom:12px;left:50%;transform:translate(-50%)}.ingredient-sheet-icon{overflow:hidden}.ingredient-sheet-icon img,.ingredient-sheet-icon .ingredient-glyph-photo{object-fit:cover;width:100%;height:100%}.ingredient-pick-new{margin:0 0 12px}.process-builder{margin-bottom:14px}.process-builder-head{margin-bottom:10px}.process-builder-head .caption{margin:2px 0 0}.process-builder.is-compact{margin-bottom:8px}.process-builder.is-compact .process-builder-grid{flex-wrap:nowrap;gap:4px;display:flex}.process-builder.is-compact .process-action-card{border-radius:10px;flex:1 1 0;gap:0;min-width:0;height:48px;min-height:44px;padding:0 0 4px}.process-builder.is-compact .process-action-label{display:none}.process-builder.is-compact .process-action-card.has-cover .process-action-label,.process-builder.is-compact .process-action-card.is-cold .process-action-label{z-index:1;white-space:nowrap;text-overflow:ellipsis;max-width:100%;padding:0 3px;font-size:9px;line-height:1.15;display:block;overflow:hidden}.process-builder.is-compact .process-action-face{width:100%;height:100%;box-shadow:none;background:0 0;border-radius:10px}.process-builder.is-compact .process-action-card.is-cold .process-action-face{background:color-mix(in srgb, var(--cold) 18%, var(--bg-elevated));width:28px;height:28px;color:var(--cold);box-shadow:none;border-radius:8px}.process-builder.is-compact .process-action-card.has-cover,.process-builder.is-compact .process-action-card.is-cold{justify-content:flex-end}.process-builder.is-compact .process-action-card.has-cover:after{inset:30% 0 0}.process-builder-grid{grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;display:grid}.process-builder-grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.process-builder-grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.inspector-hold{margin:0 0 12px}.inspector-hold .process-action-card{gap:4px;min-height:72px;padding:6px 4px 8px}.process-action-card{background:var(--bg-grouped);min-height:92px;color:inherit;font:inherit;cursor:pointer;border-radius:16px;flex-direction:column;justify-content:center;align-items:center;gap:6px;padding:8px 6px;font-size:11px;font-weight:650;display:flex;position:relative;overflow:hidden}.process-action-cover{object-fit:cover;pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.process-action-card.has-cover{color:#fcfbfa;text-shadow:0 1px 3px #3c24158c;justify-content:flex-end}.process-action-card.has-cover:after{content:"";pointer-events:none;background:linear-gradient(#0000,#3c24159e);position:absolute;inset:40% 0 0}.process-action-label{z-index:1;position:relative}.process-action-card.is-on{box-shadow:inset 0 0 0 2px var(--tint)}.process-action-card.is-on:not(.has-cover){background:var(--tint);color:#fcfbfa}.process-action-face{background:var(--bg-elevated);width:56px;height:56px;color:var(--tint);border-radius:14px;place-items:center;display:grid;overflow:hidden;box-shadow:0 1px #3c24150f}.process-action-card.is-chill,.process-action-face.is-chill,.inspector-type-icon.is-chill,.recipe-metro-glyph.is-chill{--cold:#5b9bb0}.process-action-card.is-fridge,.process-action-face.is-fridge,.inspector-type-icon.is-fridge,.recipe-metro-glyph.is-fridge{--cold:#3d8b8b}.process-action-card.is-freezer,.process-action-face.is-freezer,.inspector-type-icon.is-freezer,.recipe-metro-glyph.is-freezer{--cold:#3b6ea8}.process-action-face.is-cold{background:color-mix(in srgb, var(--cold,#5b9bb0) 16%, var(--bg-elevated));color:var(--cold,#5b9bb0)}.inspector-type-icon.is-cold{color:var(--cold,#5b9bb0);background:color-mix(in srgb, var(--cold,#5b9bb0) 14%, var(--bg-elevated))}.process-action-face img{object-fit:cover;width:100%;height:100%}.process-action-card.is-on .process-action-face{color:#fcfbfa;background:#fcfbfa29}.step-wizard{z-index:4;background:color-mix(in srgb, var(--bg-elevated) 92%, transparent);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border-radius:18px;flex-direction:column;max-height:min(100% - 16px,100dvh - 7rem);margin:0;padding:12px 14px 10px;display:flex;position:absolute;inset:8px 8px auto;overflow:hidden;box-shadow:0 8px 32px #3c24151f}.step-wizard.is-drop{box-shadow:inset 0 0 0 2px var(--tint)}.step-wizard-head{flex-shrink:0;align-items:center;gap:10px;margin-bottom:10px;display:flex}.step-wizard-body{flex:auto;min-height:0;overflow:auto}.step-wizard-head h2{margin:0}.step-wizard-head .process-action-face{flex-shrink:0}.step-wizard-head .recipe-icon-btn{margin-left:auto}.wizard-pick-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-bottom:12px;display:grid}.wizard-pick{background:var(--bg-elevated);min-height:88px;color:inherit;font:inherit;text-align:center;cursor:pointer;border-radius:16px;flex-direction:column;align-items:center;gap:4px;padding:12px 8px;font-size:12px;font-weight:650;display:flex}.wizard-pick.is-on{box-shadow:inset 0 0 0 2px var(--tint)}.wizard-pick-prior{text-align:left;flex-direction:row;justify-content:flex-start;gap:10px;width:100%;min-height:56px;margin-bottom:10px;padding:10px 12px}.wizard-pick-prior .caption{margin-left:auto}.wizard-input-chip{align-items:center;gap:6px;display:inline-flex}.wizard-qty-backdrop{z-index:60}.wizard-qty-sheet{width:min(380px,100%);padding:20px 18px 16px}.wizard-qty-hero{align-items:center;gap:12px;margin-bottom:16px;display:flex}.wizard-qty-hero h2{margin:0}.wizard-qty-photo{background:var(--bg-grouped);width:64px;height:64px;color:var(--tint);border-radius:18px;flex-shrink:0;place-items:center;display:grid;overflow:hidden}.wizard-qty-photo img,.wizard-qty-photo .ingredient-glyph-photo{object-fit:cover;width:64px;height:64px}.wizard-qty-amount{text-align:center;width:100%;color:var(--tint);cursor:pointer;background:0 0;border:0;margin:0 0 10px;padding:0;font-size:22px;font-weight:700;display:block}.wizard-qty-amount:focus-visible{outline:2px solid var(--tint);border-radius:8px}.wizard-qty-edit{justify-content:center;align-items:baseline;gap:8px;margin:0 0 10px;display:flex}.wizard-qty-amount-input{background:var(--bg-grouped);text-align:center;min-width:4ch;max-width:100%;color:var(--tint);box-shadow:inset 0 0 0 2px var(--tint);border:0;border-radius:10px;outline:none;padding:4px 8px;font-size:22px;font-weight:700}.wizard-qty-unit{color:var(--label-secondary);font-size:15px;font-weight:650}.wizard-qty-slider{appearance:none;background:color-mix(in srgb, var(--tint) 22%, var(--bg-grouped));border-radius:999px;outline:none;width:100%;height:6px;margin:0 0 14px;display:block}.wizard-qty-slider::-webkit-slider-thumb{appearance:none;background:var(--tint);cursor:pointer;border-radius:50%;width:24px;height:24px;box-shadow:0 1px 4px #3c241540}.wizard-qty-slider::-moz-range-thumb{background:var(--tint);cursor:pointer;border:0;border-radius:50%;width:24px;height:24px}.wizard-qty-presets{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:0 0 16px;display:grid}.wizard-qty-presets .chip{justify-content:center;align-items:center;width:100%;display:inline-flex}.wizard-qty-sheet .ios-btn{width:100%}.recipe-component.is-offer{box-shadow:inset 0 0 0 2px var(--tint)}.recipe-panel.is-picking .recipe-component{cursor:pointer}.recipe-component.is-spent{opacity:.5;cursor:default}.recipe-panel.is-picking .recipe-component.is-spent{cursor:default}.inspector-photo{gap:8px;margin-bottom:12px;display:grid}.inspector-photo img{object-fit:cover;border-radius:12px;width:100%;max-height:160px}.step-wizard-actions{background:color-mix(in srgb, var(--bg-elevated) 92%, transparent);flex-shrink:0;justify-content:flex-end;gap:8px;margin-top:10px;padding-top:10px;display:flex}.step-wizard .process-builder-grid:not(.process-builder-grid-2):not(.process-builder-grid-3){grid-template-columns:repeat(auto-fit,minmax(72px,1fr))}.step-wizard .process-builder-grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.step-wizard .process-action-card{gap:4px;min-height:64px;padding:6px 4px}.step-wizard .process-action-face{border-radius:10px;width:36px;height:36px}.step-wizard-head .process-action-face{width:44px;height:44px}.step-wizard .wizard-pick{min-height:56px;padding:8px}.step-wizard .wizard-pick-prior{min-height:48px;margin-bottom:8px}.step-wizard .form-row{margin-bottom:8px}.step-wizard .ios-input{min-height:40px;padding:8px 12px}.step-wizard-body>.footnote{margin:0 0 6px}.recipe-gantt-host{min-height:220px;position:relative}.recipe-panel.recipe-process{overflow:visible}.recipe-process .recipe-metro{--metro-tick-inset:var(--recipe-panel-pad)}.recipe-process.is-placing .recipe-gantt{opacity:.35;pointer-events:none}.recipe-flow{border-top:var(--hairline) solid var(--separator);margin-top:16px;padding-top:12px}.recipe-flow-kicker{text-transform:uppercase;letter-spacing:.04em;margin:12px 0 8px}.recipe-flow-grid{gap:8px;display:grid}.recipe-flow-grid.is-1{grid-template-columns:1fr}.recipe-flow-grid.is-2{grid-template-columns:repeat(2,minmax(0,1fr))}.recipe-flow-grid.is-3{grid-template-columns:repeat(3,minmax(0,1fr))}.recipe-flow-moment.is-while{border-left:3px solid color-mix(in srgb, var(--tint) 35%, transparent);padding-left:12px}.recipe-flow-card{background:var(--bg-grouped);width:100%;min-width:0;min-height:192px;color:inherit;font:inherit;text-align:left;cursor:pointer;border-radius:16px;align-items:stretch;gap:0;padding:0;display:flex;overflow:hidden}.recipe-flow-visual{aspect-ratio:3/4;background:var(--bg-elevated);color:#fcfbfa;flex:0 0 144px;align-self:flex-start;align-items:flex-end;width:144px;height:192px;display:flex;position:relative;overflow:hidden}.recipe-flow-cover{object-fit:cover;pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.recipe-flow-visual:after{content:"";pointer-events:none;background:linear-gradient(#0000,#28180edb);height:92px;position:absolute;inset:auto 0 0}.recipe-flow-visual .process-action-face{position:absolute;top:42%;left:50%;transform:translate(-50%,-50%)}.recipe-flow-visual-copy{z-index:1;text-shadow:0 1px 3px #3c24158c;flex-direction:column;gap:2px;width:100%;padding:10px;display:flex;position:relative}.recipe-flow-visual-copy strong{font-size:13px;line-height:1.2}.recipe-flow-visual-copy .caption{color:#fcfbfae0}.recipe-flow-body{flex-direction:column;flex:1;justify-content:flex-start;align-items:flex-start;gap:6px;min-width:0;padding:12px 14px;display:flex;position:relative}.recipe-flow-body .footnote{color:var(--label);margin:0;font-size:16px;line-height:22px}.recipe-flow-card.is-on:not(.is-imported){background:color-mix(in srgb, var(--tint) 7%, var(--bg-grouped))}.recipe-flow-card.is-imported.is-on{box-shadow:inset 0 0 0 2px var(--import-color,#7b5ea7)}:is(.recipe-flow-grid:has(.has-ins).is-2,.recipe-flow-grid:has(.has-ins).is-3){grid-template-columns:1fr}.recipe-flow-ins{width:100%;color:var(--label);text-align:left;pointer-events:none;background:0 0;flex-wrap:wrap;place-content:flex-end flex-start;align-items:flex-end;gap:6px;margin:auto 0 0;padding:8px 0 0;font-size:12px;font-weight:600;line-height:1.2;list-style:none;display:flex;overflow:visible}.recipe-flow-ins li{background:color-mix(in srgb, var(--label) 6%, var(--bg-elevated));max-width:100%;box-shadow:inset 0 0 0 var(--hairline) var(--separator);color:var(--label-secondary);white-space:nowrap;border-radius:999px;justify-content:flex-start;align-items:center;gap:4px;padding:5px 9px;display:inline-flex}.recipe-flow-ins li.is-adjusted{color:var(--tint);box-shadow:inset 0 0 0 1.5px color-mix(in srgb, var(--tint) 45%, var(--separator))}.recipe-flow-ins-copy{align-items:baseline;gap:8px;min-width:0;display:inline-flex}.recipe-flow-ins li .recipe-qty-was{display:inline}.recipe-flow-out{color:var(--tint);margin:0;font-size:12px;font-weight:650}.recipe-flow.is-preview .recipe-flow-card{cursor:default}@media (width<=700px){.process-builder-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.recipe-flow-grid.is-2,.recipe-flow-grid.is-3{grid-template-columns:1fr}}.recipe-metro{--metro-col:30px;--metro-rail-x:15px;--metro-tick:0px;--metro-tick-inset:0px;--metro-station-y:50%;border-top:var(--hairline) solid var(--separator);margin-top:16px;padding-top:12px;overflow:visible}.recipe-metro-legend{align-items:stretch;gap:0;margin-bottom:6px;display:flex}.recipe-metro-tick-spacer{flex:0 0 var(--metro-tick)}.recipe-metro-legend-copy{align-items:center;margin:0;padding-left:10px;display:flex}.recipe-metro-spine{grid-template-columns:repeat(var(--metro-cols,1), var(--metro-col));width:calc(var(--metro-cols,1) * var(--metro-col));flex:none;display:grid;position:relative;overflow:visible}.recipe-metro-head-icon{left:var(--metro-rail-x);top:var(--metro-station-y,50%);z-index:3;background:var(--bg-elevated);width:22px;height:22px;color:var(--metro-line,var(--tint));box-shadow:0 0 0 2px var(--metro-line,var(--tint));cursor:pointer;border:0;border-radius:50%;place-items:center;padding:0;display:grid;position:absolute;transform:translate(-50%,-50%)}.recipe-metro-head-icon.is-on{color:var(--label);box-shadow:0 0 0 3px color-mix(in srgb, var(--metro-line,var(--tint)) 35%, var(--bg-elevated))}.recipe-metro-tip{z-index:4;background:var(--bg-elevated);width:max-content;max-width:180px;box-shadow:var(--shadow-card);color:var(--label);letter-spacing:0;text-transform:none;pointer-events:none;border-radius:10px;padding:6px 8px;font-size:11px;font-weight:500;position:absolute;top:calc(100% + 6px);left:50%;transform:translate(-50%)}.recipe-metro-body{grid-template-columns:var(--metro-tick) repeat(var(--metro-cols,1), var(--metro-col)) minmax(0, 1fr);align-items:stretch;width:100%;display:grid;position:relative;overflow:visible}.recipe-metro-tick{z-index:5;width:0;min-width:0;position:relative;overflow:visible}.recipe-metro-tick-rail{left:calc(-1 * var(--metro-tick-inset));background:color-mix(in srgb, var(--label-tertiary) 70%, transparent);pointer-events:none;width:1px;position:absolute;top:0;bottom:0}.recipe-metro-tick.is-start .recipe-metro-tick-rail{top:50%}.recipe-metro-tick.is-close .recipe-metro-tick-rail{bottom:50%}.recipe-metro-tick-mark{top:50%;left:calc(-1 * var(--metro-tick-inset) - 8px);background:var(--label-tertiary);pointer-events:none;width:8px;height:1px;position:absolute;transform:translateY(-50%)}.recipe-metro-tick.is-major .recipe-metro-tick-mark{left:calc(-1 * var(--metro-tick-inset) - 11px);background:var(--label-secondary);width:11px;height:2px}.recipe-metro-tick-label{top:50%;left:calc(-1 * var(--metro-tick-inset) - 12px);color:var(--label-secondary);letter-spacing:-.03em;white-space:nowrap;pointer-events:none;font-size:10px;font-weight:650;line-height:1;position:absolute;transform:translate(-100%,-50%)}.recipe-metro-tick.is-major .recipe-metro-tick-label{color:var(--label)}.recipe-metro-tick.is-on .recipe-metro-tick-mark{background:var(--tint)}.recipe-metro-idle{z-index:4;pointer-events:none;position:relative}.recipe-metro-idle-label{top:50%;left:calc(-1 * var(--metro-tick-inset) - 6px);background:var(--bg-elevated);color:var(--label-tertiary);letter-spacing:-.03em;white-space:nowrap;pointer-events:none;border-radius:4px;align-items:center;gap:3px;padding:1px 3px;font-size:10px;font-weight:650;line-height:1;display:inline-flex;position:absolute;transform:translate(-50%,-50%)rotate(-90deg)}.recipe-metro-idle-label svg{flex:none}.recipe-metro-joins{z-index:1;pointer-events:none;height:100%;position:relative}.recipe-metro-join{top:var(--metro-station-y,50%);left:var(--metro-rail-x);z-index:1;width:calc((var(--join-col,2) - 1) * var(--metro-col));background:color-mix(in srgb, var(--label-secondary) 78%, transparent);pointer-events:none;height:2px;position:absolute}.recipe-metro-card-slot{width:100%;min-width:0;padding-left:calc(10px + var(--metro-indent,0) * var(--metro-col))}.recipe-metro-card-slot.is-close{min-height:44px}.recipe-metro-card-slot.is-main{--metro-line:var(--tint)}.recipe-metro-card-slot.is-oven{--metro-line:#d97706}.recipe-metro-card-slot.is-fridge{--metro-line:#3d8b8b}.recipe-metro-card-slot.is-freezer{--metro-line:#3b6ea8}.recipe-metro-card-slot.is-resting{--metro-line:#5b9bb0}.recipe-metro-card-slot:not(.is-close) .recipe-metro-card{border-left:3px solid var(--metro-line,var(--tint))}.recipe-metro-card-wrap{position:relative}.recipe-metro-card-wrap.has-insert .recipe-metro-card .recipe-flow-body{padding-bottom:44px}.recipe-metro-card-wrap .main-recipe-insert.is-compact{z-index:2;position:absolute;bottom:10px;right:10px}.recipe-metro-card{background:var(--bg-grouped);width:100%;min-width:0;min-height:192px;color:inherit;font:inherit;text-align:left;cursor:pointer;border-radius:16px;align-items:stretch;gap:0;margin:6px 0;padding:0;display:flex;overflow:hidden}.recipe-metro-card .recipe-flow-visual{width:144px;height:auto;min-height:192px;aspect-ratio:unset;flex:0 0 144px;align-self:stretch}.recipe-metro-cell{min-width:0;min-height:100%;position:relative;overflow:visible}.recipe-metro-rail{left:var(--metro-rail-x);background:color-mix(in srgb, var(--metro-line,var(--tint)) 72%, transparent);pointer-events:none;width:2px;position:absolute;top:0;bottom:0;transform:translate(-50%)}.recipe-metro-cell.is-main{--metro-line:var(--tint)}.recipe-metro-cell.is-oven{--metro-line:#d97706}.recipe-metro-cell.is-fridge{--metro-line:#3d8b8b}.recipe-metro-cell.is-freezer{--metro-line:#3b6ea8}.recipe-metro-cell.is-resting{--metro-line:#5b9bb0}.recipe-metro-cell.is-main .recipe-metro-rail{width:2.5px}.recipe-metro-cell.is-start .recipe-metro-rail{top:var(--metro-station-y,50%)}.recipe-metro-cell.is-close .recipe-metro-rail{top:0;bottom:50%}.recipe-metro-tick.is-close,.recipe-metro-cell.is-close{min-height:44px}.recipe-metro-cell.is-wait .recipe-metro-rail,.recipe-metro.is-filtering .recipe-metro-cell:not(.is-focus-lane){opacity:.32}.recipe-metro-dot{left:var(--metro-rail-x);top:var(--metro-station-y,50%);z-index:2;background:var(--metro-line,var(--tint));width:10px;height:10px;box-shadow:0 0 0 3px var(--bg-elevated);pointer-events:none;border-radius:50%;position:absolute;transform:translate(-50%,-50%)}.recipe-metro-dot.is-terminus{z-index:3}.recipe-metro-time{z-index:2;background:var(--bg-elevated);width:max-content;color:var(--metro-line,var(--tint));letter-spacing:-.03em;white-space:nowrap;pointer-events:none;border-radius:4px;place-self:center;padding:1px 3px;font-size:10px;font-weight:700;line-height:1;transform:rotate(-90deg)}.recipe-metro-time.is-main{--metro-line:var(--tint)}.recipe-metro-time.is-oven{--metro-line:#d97706}.recipe-metro-time.is-fridge{--metro-line:#3d8b8b}.recipe-metro-time.is-freezer{--metro-line:#3b6ea8}.recipe-metro-time.is-resting{--metro-line:#b85c78}.recipe-metro-time.is-last{align-self:center}.recipe-metro-card.is-on:not(.is-imported){background:color-mix(in srgb, var(--tint) 7%, var(--bg-grouped))}.recipe-metro-card.is-imported.is-on{box-shadow:inset 0 0 0 2px var(--import-color,#7b5ea7)}.recipe-metro-row.is-on .recipe-metro-dot,.recipe-metro-cell.is-on .recipe-metro-dot{box-shadow:0 0 0 3px color-mix(in srgb, var(--tint) 18%, var(--bg-elevated))}.recipe-metro-row.is-on .recipe-metro-head-icon,.recipe-metro-cell.is-on .recipe-metro-head-icon{box-shadow:0 0 0 3px color-mix(in srgb, var(--tint) 22%, var(--bg-elevated))}.recipe-metro-card.is-glyph,.recipe-flow-card.is-glyph{align-items:center;min-height:88px}.recipe-metro-glyph{background:color-mix(in srgb, #d97706 14%, var(--bg-elevated));color:#d97706;border-radius:22px;flex-direction:column;flex:0 0 88px;justify-content:center;align-items:center;gap:2px;width:88px;height:88px;margin:12px 4px 12px 12px;display:flex;box-shadow:0 1px #3c24150f}.recipe-metro-glyph.is-cold{background:color-mix(in srgb, var(--cold,#5b9bb0) 16%, var(--bg-elevated));color:var(--cold,#5b9bb0)}.recipe-metro-glyph-face{background:color-mix(in srgb, #d97706 16%, var(--bg-elevated));border-radius:10px;place-items:center;width:32px;height:32px;display:grid}.recipe-metro-glyph.is-cold .recipe-metro-glyph-face{background:color-mix(in srgb, var(--cold,#5b9bb0) 18%, var(--bg-elevated))}.recipe-metro-glyph strong{letter-spacing:-.04em;color:var(--label);font-size:20px;font-weight:700;line-height:1}.recipe-metro-glyph .caption{color:var(--label-secondary);font-size:11px;font-weight:650}.recipe-metro-card-title{font-size:15px;font-weight:650;line-height:1.2;display:block}.recipe-metro-card.is-glyph .recipe-flow-body,.recipe-flow-card.is-glyph .recipe-flow-body{padding:12px 14px 12px 8px}.recipe-metro.is-preview .recipe-metro-card,.recipe-metro.is-preview .recipe-metro-head-icon{cursor:default}.recipe-details-backdrop{z-index:90;isolation:isolate;background:#3c24158c}.recipe-details-sheet{background:var(--bg-elevated);flex-direction:column;gap:12px;max-height:min(90dvh,860px);padding-top:18px;display:flex;position:relative;overflow:hidden}.recipe-details-back{align-self:flex-start;width:auto;min-height:32px;margin:0}.recipe-details-body{flex-direction:column;flex:1;gap:4px;min-height:0;padding-right:2px;display:flex;overflow:auto}.recipe-details-hero{align-items:flex-start;gap:14px;padding-right:36px;display:flex}.recipe-details-art{background:var(--tint-fill);width:72px;height:72px;color:var(--tint);border-radius:18px;flex-shrink:0;place-items:center;display:grid;overflow:hidden}.recipe-details-art img{object-fit:cover;width:100%;height:100%}.recipe-details-hero .title-3{margin:0 0 2px}.recipe-details-hero .recipe-library-card-meta{margin-top:8px}.recipe-details-metrics{margin:12px 0 8px}.recipe-details-qty{white-space:nowrap}.recipe-details-actions{background:var(--bg-elevated);flex-shrink:0;padding-top:8px}.recipe-details-sheet .inset-group{margin:8px 0 4px}@media (width<=700px){.recipe-metrics,.recipe-details-metrics{flex-wrap:wrap}.recipe-timing,.recipe-cost-yield{flex:100%;max-width:none}.recipe-composition-metric{flex:none;max-width:none}.recipe-metro{--metro-col:26px;--metro-rail-x:13px;--metro-tick:0px}.recipe-metro-time,.recipe-metro-tick-label,.recipe-metro-idle-label{font-size:9px}}.recipe-modal-backdrop:has(.recipe-tree-modal){padding:12px}.recipe-tree-modal{flex-direction:column;width:min(1600px,100%);height:min(980px,100%);max-height:100%;display:flex;overflow:hidden}.recipe-tree-modal .recipe-graph{flex:1;min-height:0}.recipe-graph-stage{flex-direction:column;flex:1;min-height:0;display:flex;position:relative}.recipe-graph{background:radial-gradient(circle at 20% 20%, color-mix(in srgb, var(--tint) 8%, transparent), transparent 42%), var(--bg-grouped);touch-action:none;border-radius:18px;flex:1;min-height:560px;margin:0 -6px;position:relative;overflow:auto}.recipe-graph-links{display:block}.recipe-graph-link{stroke:color-mix(in srgb, var(--tint) 38%, var(--separator));stroke-width:1.6px;stroke-linecap:round}.recipe-graph-node{background:var(--bg-elevated);text-align:left;cursor:grab;z-index:1;border-radius:18px;align-items:center;gap:8px;min-width:148px;max-width:210px;padding:8px 10px 8px 8px;display:flex;position:absolute;top:0;left:0;overflow:visible;box-shadow:0 8px 22px #3c241514}.recipe-graph-node:active{cursor:grabbing}.recipe-graph-node.is-open{z-index:3;box-shadow:0 10px 28px #3c241529}.recipe-graph-icon{width:36px;height:36px;color:var(--tint);border-radius:12px;flex:0 0 36px;place-items:center;display:grid}.recipe-graph-copy{flex-direction:column;gap:1px;min-width:0;display:flex}.recipe-graph-copy strong{font-size:13px;font-weight:650;line-height:1.2}.recipe-graph-node.is-ingredient .recipe-graph-icon{background:color-mix(in srgb, var(--tint) 10%, var(--bg-grouped))}.recipe-graph-node.is-recipe{background:color-mix(in srgb, var(--tint) 12%, var(--bg-elevated))}.recipe-graph-node.is-recipe .recipe-graph-icon{background:color-mix(in srgb, var(--tint) 18%, var(--bg-grouped))}.recipe-graph-node.is-variant{background:color-mix(in srgb, var(--tint) 8%, #f6efe6)}.recipe-graph-node.is-variant .recipe-graph-icon{background:color-mix(in srgb, var(--tint) 16%, var(--bg-grouped))}.recipe-graph-node.is-batch{background:color-mix(in srgb, var(--tint) 22%, var(--bg-elevated));color:var(--label)}.recipe-graph-node.is-batch .recipe-graph-icon{background:color-mix(in srgb, var(--tint) 28%, var(--bg-grouped))}.recipe-graph-node.is-product{min-width:52px;max-width:52px;box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--tint) 22%, transparent), 0 8px 22px #3c241514;border-radius:16px;flex-direction:column;align-items:center;gap:0;padding:4px}.recipe-graph-node.is-product .recipe-graph-icon{background:color-mix(in srgb, var(--tint) 10%, var(--bg-grouped));border-radius:12px;flex:0 0 44px;width:44px;height:44px;overflow:hidden}.recipe-graph-product-photo{object-fit:cover;width:44px;height:44px;display:block}.recipe-graph-price{z-index:5;background:var(--bg-elevated);box-shadow:0 0 0 1px color-mix(in srgb, var(--tint) 18%, var(--separator)), 0 4px 10px #3c241514;color:var(--tint);white-space:nowrap;pointer-events:auto;cursor:pointer;border-radius:999px;padding:1px 8px;font-size:11px;font-weight:650;line-height:1.3;position:absolute;top:0;left:0}.recipe-graph-price.is-in-node{z-index:2;position:absolute;top:auto;left:auto}.recipe-graph-price.is-in-node.is-left{text-overflow:ellipsis;max-width:calc(50% - 4px);bottom:0;left:6px;overflow:hidden;transform:translateY(50%)}.recipe-graph-price.is-in-node.is-right{text-overflow:ellipsis;max-width:calc(50% - 4px);bottom:0;right:6px;overflow:hidden;transform:translateY(50%)}.recipe-graph-price.is-in-node.is-top{top:0;left:50%;transform:translate(-50%,-50%)}.recipe-graph-price.is-in-node.is-bottom{bottom:0;left:50%;transform:translate(-50%,50%)}.recipe-graph-price.is-profit{color:var(--success,#2f9e44);box-shadow:0 0 0 1px color-mix(in srgb, var(--success,#2f9e44) 28%, var(--separator)), 0 4px 10px #2f9e441f}.recipe-graph-head-tools{align-items:center;gap:10px;display:flex}.recipe-graph-switch{color:var(--label-secondary);align-items:center;gap:8px;font-size:13px;font-weight:650;display:flex}.recipe-graph-toggle{background:var(--fill,#d9cfc4);border:0;border-radius:999px;width:42px;height:24px;padding:0;position:relative}.recipe-graph-toggle:after{content:"";background:#fff;border-radius:50%;width:20px;height:20px;transition:transform .16s;position:absolute;top:2px;left:2px;box-shadow:0 1px 4px #3c241533}.recipe-graph-toggle.is-on{background:var(--success,#2f9e44)}.recipe-graph-toggle.is-on:after{transform:translate(18px)}.recipe-graph-yield-wrap{z-index:6;pointer-events:none;justify-content:center;align-items:center;gap:8px;display:flex;position:absolute;bottom:12px;left:0;right:0}.recipe-graph-yield-tip{background:var(--bg-elevated);pointer-events:auto;border-radius:14px;flex-direction:column;align-items:stretch;gap:0;width:max-content;max-width:calc(100% - 24px);padding:6px 12px;display:flex;box-shadow:0 10px 28px #3c241524}.recipe-graph-yield-row{justify-content:space-between;align-items:baseline;gap:12px;min-width:148px;display:flex}.recipe-graph-yield-row .caption{white-space:nowrap}.recipe-graph-yield-tip .caption{line-height:1.2}.recipe-graph-yield-tip.is-retail{flex-direction:row;align-items:center;gap:8px;min-width:0;padding:4px 8px 4px 4px}.recipe-graph-retail-photo{object-fit:cover;background:color-mix(in srgb, var(--tint) 10%, var(--bg-grouped));border-radius:10px;flex:0 0 36px;width:36px;height:36px;display:block}.recipe-graph-retail-photo.is-empty{box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--tint) 16%, transparent)}.recipe-graph-retail-copy{flex-direction:column;justify-content:center;gap:0;min-width:0;display:flex}.recipe-graph-retail-field{color:var(--label);align-items:center;gap:4px;font-size:15px;font-weight:700;line-height:1.15;display:flex}.recipe-graph-retail-field .recipe-tree-qty{text-align:right;border-radius:8px;width:72px;height:28px;min-height:0;margin-top:0;padding:0 8px;font-size:15px;font-weight:700}.recipe-graph-yield-tip strong{color:var(--success,#2f9e44);font-size:15px;font-weight:700;line-height:1.25}.recipe-graph-node.is-zero{opacity:.48}.recipe-graph-pop{z-index:4;background:var(--bg-elevated);border-radius:16px;width:220px;padding:12px;position:absolute;transform:translate(18px,18px);box-shadow:0 16px 40px #3c24152e}.recipe-graph-pop strong{margin:2px 0 8px;display:block}.recipe-graph-field{grid-template-columns:1fr auto;align-items:end;gap:6px;display:grid}.recipe-graph-field+.recipe-graph-field{margin-top:8px}.recipe-graph-field .caption:first-child{grid-column:1/-1}.recipe-graph-legend{color:var(--label-secondary);flex-wrap:wrap;gap:10px 14px;padding:8px 2px 0;font-size:12px;font-weight:650;display:flex}.recipe-graph-legend i{background:var(--tint);border-radius:99px;width:8px;height:8px;margin-right:6px;display:inline-block}.recipe-graph-legend i.is-ingredient{background:color-mix(in srgb, var(--tint) 45%, #d9cfc4)}.recipe-graph-legend i.is-recipe{background:var(--tint)}.recipe-graph-legend i.is-variant{background:#c4a484}.recipe-graph-legend i.is-batch{background:#8b5e34}.recipe-graph-legend i.is-product{background:color-mix(in srgb, var(--tint) 70%, #fff)}.recipe-tree-qty{min-height:40px;margin-top:4px}@media (width<=700px){.recipe-modal-backdrop:has(.recipe-tree-modal){padding:6px}.recipe-tree-modal{width:100%;height:100%;max-height:100%;padding:16px 14px 12px}.recipe-graph{min-height:0}.recipe-graph-node{min-width:132px;max-width:168px;padding:7px 8px 7px 7px}}
