/* Grip, collapse and background-save feedback share the existing Dine palette. */
.menu-drag-handle{display:inline-flex;align-items:center;justify-content:center;flex:0 0 28px;width:28px;min-height:34px;padding:5px;border:0;border-radius:6px;color:var(--muted);background:transparent;cursor:grab;touch-action:none;user-select:none}
.menu-drag-handle::before{content:"";display:block;width:12px;height:20px;background:radial-gradient(circle,currentColor 1.5px,transparent 1.8px) 0 0/6px 6px}
.menu-drag-handle:hover{color:var(--ink);background:var(--paper,#f3f5ef)}
.menu-drag-handle:active,.is-dragging .menu-drag-handle{cursor:grabbing;color:var(--ink)}
.menu-drag-handle:focus-visible{outline:2px solid var(--ui-focus);outline-offset:2px}
.is-dragging{position:relative;z-index:2;outline:1px dashed var(--muted);outline-offset:-1px;background:#edf2e8!important;box-shadow:0 5px 18px #26372a18}
.menu-section-item>.menu-drag-handle{order:-1}.menu-section-item>div:first-child{flex:1}.menu-section-item{gap:10px}
.menu-table td[data-column="order"] .menu-drag-handle{vertical-align:middle;margin-inline:2px}
.menu-table .menu-order-controls .menu-order-button{width:22px;min-width:22px;height:28px;min-height:28px;padding:2px}
.menu-section-actions .menu-order-button{width:28px;height:28px;min-height:28px}
.menu-area-toggle{display:inline-flex;align-items:center;gap:9px;padding:4px 2px;border:0;background:transparent;color:inherit;font:inherit;text-align:left;cursor:pointer}
.menu-area-toggle strong{font:inherit;font-weight:600}.menu-area-toggle:hover{color:#345441}.menu-area-toggle:focus-visible{outline:2px solid var(--ui-focus);outline-offset:3px;border-radius:3px}
.menu-collapse-arrow{display:inline-block;flex:0 0 7px;width:7px;height:7px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg) translateY(-2px);transition:transform .18s ease}
.menu-area-toggle[aria-expanded="false"] .menu-collapse-arrow{transform:rotate(-45deg)}
.menu-save-status{display:flex;align-items:center;gap:7px;margin:-8px 0 12px;font-size:12px;color:var(--muted)}
.menu-save-status.is-saving::before{content:"";width:11px;height:11px;flex:0 0 11px;border:1.5px solid #bbc8b5;border-top-color:#42664c;border-radius:50%;animation:menu-saving-spin .8s linear infinite}
.menu-save-status.is-error{color:#a34136}.menu-sections-content .menu-save-status{margin:8px 0}
.menu-table .is-product-variant td[data-column="product"]{padding-left:22px}.menu-table .is-product-variant .menu-product-name::before{content:"";display:inline-block;width:7px;height:8px;margin-right:7px;border-left:1px solid #a5b59d;border-bottom:1px solid #a5b59d;vertical-align:4px}
.menu-product-item.is-product-variant{margin-left:16px;width:calc(100% - 16px)}
.catalog-card-variants{margin-left:14px;padding-left:12px;border-left:1px solid var(--line)}
.menu-product-family{border:1px solid var(--line);border-radius:9px;padding:5px;background:#f8faf5;overflow:hidden}.menu-product-family .menu-product-item{border:0;border-radius:5px;margin-bottom:2px;background:transparent}.menu-product-family .menu-product-item.is-selected{background:#eaf0e3}
#menu-product-results .menu-product-family .menu-product-item.is-product-variant{margin-inline-start:14px;width:calc(100% - 14px)}
#menu-view .menu-table{border-collapse:separate;border-spacing:0}
#menu-view .menu-table .is-family-row td{background:#f7faf4}
#menu-view .menu-table .is-family-row td:first-child{border-left:2px solid #a2b497}
#menu-view .menu-table .is-family-row td:last-child{border-right:1px solid var(--menu-border,var(--line))}
#menu-view .menu-table .is-family-last td{border-bottom:1px solid var(--menu-border,var(--line))}
#menu-view .menu-table .is-family-first td:first-child{border-top-left-radius:7px}#menu-view .menu-table .is-family-first td:last-child{border-top-right-radius:7px}
#menu-view .menu-table .is-family-last td:first-child{border-bottom-left-radius:7px}#menu-view .menu-table .is-family-last td:last-child{border-bottom-right-radius:7px}
@keyframes menu-saving-spin{to{transform:rotate(360deg)}}
@media(max-width:760px){.menu-section-item{flex-direction:row;flex-wrap:wrap;align-items:center}.menu-section-item>.menu-section-actions{width:auto;margin-left:auto}.menu-section-item>div:first-child{flex:1;min-width:100px}.menu-section-item>.menu-drag-handle{order:-1}.menu-section-actions{gap:3px}.menu-table .is-product-variant td[data-column="product"]{padding-left:13px}.menu-product-item.is-product-variant{margin-left:10px;width:calc(100% - 10px)}}
@media(prefers-reduced-motion:reduce){.menu-collapse-arrow{transition:none}.menu-save-status.is-saving::before{animation:none}}
@media(max-width:760px){#menu-view .menu-table tr.is-family-row{margin-bottom:0;border-radius:0;border-top:0;background:#f7faf4}#menu-view .menu-table tr.is-family-first{border-top:1px solid var(--line);border-radius:9px 9px 0 0}#menu-view .menu-table tr.is-family-last{margin-bottom:14px;border-radius:0 0 9px 9px}#menu-view .menu-table .is-family-row td{border:0!important;border-radius:0!important;background:transparent}}
@media(min-width:761px){
  #menu-view .menu-table thead th{font-size:11px;font-weight:500;line-height:1.45;vertical-align:middle}
  #menu-view .menu-table td,#menu-view .menu-table td.menu-daily-price{vertical-align:middle}
  #menu-view .menu-table thead th:nth-child(n+4){text-align:center}
  #menu-view .menu-table :is(td:nth-child(5),td:nth-child(6),td:nth-child(7),td:nth-child(8)){text-align:center}
  #menu-view .menu-table .menu-forecast,#menu-view .menu-table .menu-forecast-main{justify-content:center}
  #menu-view .menu-table .menu-forecast-main{gap:5px;flex-wrap:nowrap}
  #menu-view .menu-table .menu-quantity{width:156px;min-width:156px;grid-template-columns:64px minmax(0,1fr)}
  #menu-view .menu-table .menu-quantity-entry input{width:40px;min-width:40px}
  #menu-view .menu-table .menu-forecast-state{min-width:0;font-size:12px}
  #menu-view .menu-table .menu-price-value{justify-content:center}
  #menu-view .menu-table td[data-column="order"]{white-space:nowrap;padding-inline:5px}
  #menu-view .menu-table .menu-order-controls{width:auto;max-width:none;vertical-align:middle}
  #menu-view .menu-table td[data-column="order"] .menu-drag-handle{width:20px;min-width:20px;padding-inline:2px;margin:0}
  #menu-view .menu-table .menu-availability-note,#menu-view .menu-table .menu-schedule-source{text-align:center}
  #menu-view .menu-table .menu-forecast-settings{justify-content:flex-start;padding-inline-start:max(0px,calc((100% - 235px)/2))}
}
#menu-view .menu-table tr[data-entry-id]{--menu-row-bg:#fff;--menu-row-control:#fff;background:var(--menu-row-bg)}
#menu-view .menu-table tr.is-striped{--menu-row-bg:#f0f5e9;--menu-row-control:#edf3e6}
#menu-view .menu-table tr[data-entry-id]>td{background:var(--menu-row-bg)}
#menu-view .menu-table tr[data-entry-id] :is(.menu-placement select,.menu-placement .ui-select-trigger,.menu-placement .ui-control-trigger){background-color:var(--menu-row-control)}
@media(hover:hover){#menu-view .menu-table tbody tr[data-entry-id]:hover{background:var(--menu-row-bg)}}
@media(max-width:760px){#menu-product-results .menu-product-family .menu-product-item.is-product-variant{margin-inline-start:10px;width:calc(100% - 10px)}}
#menu-view .menu-table .menu-remove{color:#a15c62;background:#f7f3f3;border-color:#e4d9da}
#menu-view .menu-table .menu-remove:hover{color:#8f4d54;background:#f0e7e8;border-color:#d4bdc0}
#menu-view .menu-table .menu-remove:active{color:#7e4249;background:#eadddf;border-color:#c5a6aa}

/* Audit: operational labels stay readable without hiding product information. */
#catalog-list .catalog-card{display:flex;flex-direction:column;min-width:0}
#catalog-list .catalog-card>.resource-actions{margin-top:auto;padding-top:18px;align-items:center;gap:8px 16px}
#catalog-list .catalog-card.is-archived{background:#f1f3ed;border-color:#bac4b2;box-shadow:inset 3px 0 #899b7a}
#catalog-list .catalog-card.is-archived>.resource-badge{align-self:flex-start;color:#46543d;background:#e2e8d9;border:1px solid #c5cfbc}
#menu-view .menu-table .menu-forecast-state{font-size:12px;line-height:1.4;white-space:normal;padding:4px 6px}
#menu-view .menu-table .menu-quantity{width:min(100%,204px);min-width:0;grid-template-columns:72px minmax(0,1fr)}
#menu-view .menu-quantity-unit,#menu-view .menu-forecast-settings,#menu-view .menu-forecast-default-label,#menu-view .menu-schedule-source{font-size:12px;line-height:1.5}
#menu-view .menu-forecast-main{flex-wrap:wrap}
.variant-replace-preview{margin:16px 0 4px;padding:14px;border:1px solid #cbd6c2;border-radius:8px;background:#f4f7ef;line-height:1.6}
.variant-replace-preview>.button,.variant-replace-preview>.text-button{margin:4px 12px 0 0}
.catalog-picker-return{white-space:normal}
@media(max-width:480px){#menu-product-dialog .menu-product-placement{grid-template-columns:minmax(0,1fr);gap:12px}#menu-product-dialog .menu-product-placement :is(select,.ui-select-trigger,.ui-control-trigger){width:100%;min-width:0}}
@media(max-width:760px){
  #catalog-form>.form-actions{position:sticky;bottom:0;z-index:4;padding:12px 0 max(8px,env(safe-area-inset-bottom));margin-top:20px;background:#fff;border-top:1px solid #d8e0d0;box-shadow:0 -8px 14px #fff;display:flex;gap:12px}
  #catalog-form>.form-actions>.button{flex:1;white-space:normal;min-height:44px}
  #catalog-form{scroll-padding-bottom:90px}
}
@container(max-width:177px){#menu-view .menu-table .menu-quantity{grid-template-columns:minmax(0,1fr)}}

.catalog-archive-dialog{width:min(560px,calc(100% - 32px));padding:0;border:1px solid #d4ddcb;border-radius:12px;background:#fff;color:var(--ink);max-height:calc(100dvh - 32px);overflow:auto}
.catalog-archive-body{padding:22px 24px;line-height:1.7}
.catalog-archive-undo{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:10px 18px;align-items:center;padding:14px 16px;border:1px solid #bfceb3;border-radius:9px;background:#f0f5e9;font-size:14px}
.catalog-archive-undo>span{flex:1;min-width:180px}
#menu-view .menu-forecast-settings label,#menu-view .menu-forecast-settings input,#menu-view .menu-forecast-default-label{font-size:12px}
