body.ipos-app-view-menu {
	min-height: 100vh;
	background: var(--ipos-app-ambient-background);
	background-color: var(--ipos-lg-canvas, #f7f5ee);
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
	background-attachment: fixed;
	color: #1b3528;
}
html:has(body.ipos-app-view-menu), body.ipos-app-view-menu { margin-top: 0 !important; padding-top: 0 !important; }
body.ipos-app-view-menu .ipos-admin-shell { grid-template-columns: 126px minmax(0, 1fr); min-height: 100vh; background: transparent; }
body.ipos-app-view-menu .ipos-admin-sidebar { position: sticky; top: 16px; align-self: start; height: calc(100dvh - 32px); min-height: 0; margin: 16px 0 16px 16px; padding: 14px 10px; border: 1px solid rgb(255 255 255 / 74%); border-radius: 30px; background: rgb(248 253 249 / 58%); box-shadow: inset 0 1px 0 rgb(255 255 255 / 72%), 0 14px 36px rgb(24 94 57 / 12%); backdrop-filter: blur(20px) saturate(132%); }
body.ipos-app-view-menu .ipos-admin-sidebar__brand { display: grid; place-items: center; padding: 8px 2px 18px; border: 0; }
body.ipos-app-view-menu .ipos-admin-sidebar__brand img { width: 58px; max-height: 58px; object-fit: contain; filter: drop-shadow(0 7px 13px rgb(24 94 57 / 15%)); }
body.ipos-app-view-menu .ipos-admin-sidebar nav { gap: 8px; margin-top: 2px; }
body.ipos-app-view-menu .ipos-admin-sidebar__link { min-height: 90px; flex-direction: column; justify-content: center; gap: 8px; padding: 10px 5px; border: 1px solid transparent; border-radius: 22px; color: #3e5b49; font-size: 12px; font-weight: 720; }
body.ipos-app-view-menu .ipos-admin-sidebar__icon, body.ipos-app-view-menu .ipos-admin-sidebar__icon svg { width: 24px; height: 24px; }
body.ipos-app-view-menu .ipos-admin-sidebar__link:hover { border-color: rgb(255 255 255 / 78%); background: rgb(255 255 255 / 48%); color: #116640; }
body.ipos-app-view-menu .ipos-admin-sidebar__link.is-active { border-color: rgb(255 255 255 / 82%); background: linear-gradient(145deg, rgb(218 247 230 / 84%), rgb(187 230 208 / 54%)); color: #0a653c; box-shadow: inset 0 1px 0 rgb(255 255 255 / 92%), 0 9px 20px rgb(27 112 69 / 13%); }
body.ipos-app-view-menu .ipos-admin-bar { display: none; }
body.ipos-app-view-menu .ipos-admin-content { padding: 26px 30px 34px 34px; }

.ipos-menu-management { width: min(100%, 1540px); margin: 0 auto; }
.ipos-menu-management *, .ipos-menu-management *::before, .ipos-menu-management *::after { box-sizing: border-box; }
.ipos-menu-management [hidden] { display: none !important; }
.ipos-menu-management button, .ipos-menu-management input, .ipos-menu-management textarea { font: inherit; }
.ipos-menu-management button { cursor: pointer; transition: background .18s ease, border-color .18s ease, box-shadow .18s ease, color .18s ease, transform .12s ease; }
.ipos-menu-management button:active { transform: translateY(1px); }
.ipos-menu-management button:focus-visible, .ipos-menu-management input:focus-visible, .ipos-menu-management textarea:focus-visible, .ipos-menu-management a:focus-visible, .ipos-menu-management summary:focus-visible { outline: 3px solid rgb(30 131 80 / 36%); outline-offset: 3px; }
.ipos-menu-management__header { display: flex; align-items: end; justify-content: space-between; gap: 20px; padding: 6px 2px 20px; }
.ipos-menu-management__eyebrow, .ipos-menu-directory header small { margin: 0 0 6px; color: #318559; font-size: 11px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.ipos-menu-management h1, .ipos-menu-management h2, .ipos-menu-management h3, .ipos-menu-management p { margin-top: 0; }
.ipos-menu-management h1 { margin-bottom: 7px; font-size: clamp(30px, 3vw, 42px); letter-spacing: -.055em; line-height: 1; }
.ipos-menu-management__header > div:first-child > p:last-child { max-width: 580px; margin: 0; color: #60756a; font-size: 14px; line-height: 1.5; }
.ipos-menu-management__header-actions { display: flex; align-items: center; justify-content: flex-end; gap: 12px; margin-inline-start: auto; }
.ipos-menu-management__header-actions > span { color: #678072; font-size: 12px; font-weight: 670; }
.ipos-menu-management__header-actions button { display: inline-flex; min-height: 46px; align-items: center; gap: 8px; padding: 0 17px; border: 1px solid #0b7044; border-radius: 9px; background: #0b7044; color: #fff; font-size: 13px; font-weight: 780; box-shadow: inset 0 1px 0 rgb(255 255 255 / 20%), 0 8px 16px rgb(15 105 63 / 17%); }
.ipos-menu-management__header-actions button:hover, .ipos-menu-inspector__actions .is-primary:hover { background: #075f38; box-shadow: inset 0 1px 0 rgb(255 255 255 / 24%), 0 10px 21px rgb(15 105 63 / 22%); }
.ipos-menu-management__header-actions button > span { font-size: 19px; font-weight: 500; line-height: 0; }
.ipos-menu-management__sections { display: inline-flex; gap: 4px; margin: 0 0 12px 2px; padding: 4px; border: 1px solid rgb(159 187 168 / 45%); border-radius: 10px; background: rgb(239 249 242 / 76%); }.ipos-menu-management__sections button { min-height: 44px; padding: 0 16px; border: 0; border-radius: 7px; background: transparent; color: #557365; font-size: 13px; font-weight: 760; }.ipos-menu-management__sections button[aria-pressed="true"] { background: #fff; box-shadow: 0 4px 11px rgb(32 97 61 / 10%); color: #0b7044; }

.ipos-menu-management__toolbar { position: relative; z-index: 5; display: grid; grid-template-columns: minmax(250px, 1.8fr) minmax(170px, .75fr) minmax(170px, .75fr) 48px; align-items: end; gap: 10px; margin-bottom: 16px; padding: 12px; border: 1px solid rgb(255 255 255 / 74%); border-radius: 12px; background: rgb(250 254 251 / 58%); box-shadow: inset 0 1px 0 rgb(255 255 255 / 78%), 0 8px 24px rgb(32 98 62 / 8%); backdrop-filter: blur(18px) saturate(125%); }
.ipos-menu-management__search, .ipos-menu-picker { position: relative; display: grid; gap: 5px; color: #5d7468; font-size: 12px; font-weight: 730; }
.ipos-menu-management__search { display: block; }
.ipos-menu-management__search svg { position: absolute; z-index: 1; top: auto; bottom: 14px; left: 13px; width: 18px; height: 18px; fill: none; stroke: #5b846d; stroke-linecap: round; stroke-width: 1.8; }
.ipos-menu-management__search input, .ipos-menu-inspector input:not([type="file"]), .ipos-menu-inspector textarea { width: 100%; border: 1px solid rgb(150 183 163 / 60%); border-radius: 8px; background: rgb(255 255 255 / 80%); color: #223c2e; }
.ipos-menu-management__search input { min-height: 46px; padding: 0 12px 0 41px; }
.ipos-menu-picker > span { padding-left: 2px; }
.ipos-menu-picker > button, .ipos-menu-inspector__field > button { display: flex; width: 100%; align-items: center; justify-content: space-between; gap: 8px; color: #223c2e; font-size: 13px; font-weight: 720; text-align: left; }
.ipos-menu-picker:not(.ipos-field--floating) > button, .ipos-menu-inspector__field:not(.ipos-field--floating) > button { min-height: 46px; padding: 0 12px; border: 1px solid rgb(150 183 163 / 60%); border-radius: 8px; background: rgb(255 255 255 / 76%); }
.ipos-menu-picker:not(.ipos-field--floating) > button:hover, .ipos-menu-inspector__field:not(.ipos-field--floating) > button:hover { border-color: #77ae8c; background: #fff; }
.ipos-menu-picker.ipos-field--floating { display:block; gap:0; }
.ipos-menu-picker.ipos-field--floating > span:first-child { padding-left: 0; }
.ipos-menu-picker > button svg, .ipos-menu-inspector__field > button svg, .ipos-menu-inspector__more summary svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.8; transition: transform .18s ease; }
.ipos-menu-picker > button[aria-expanded="true"] svg, .ipos-menu-inspector__more[open] summary svg { transform: rotate(180deg); }
.ipos-menu-picker__popover { position: absolute; z-index: 20; top: calc(100% + 7px); right: 0; left: 0; max-height: min(390px, 60dvh); overflow: auto; padding: 6px; border: 1px solid rgb(255 255 255 / 84%); border-radius: 12px; background: var(--ipos-selection-surface-solid); box-shadow: inset 0 1px 0 rgb(255 255 255 / 90%), 0 18px 38px rgb(24 86 51 / 18%); backdrop-filter: none; }
.ipos-menu-picker__popover button { position: relative; display: flex; width: 100%; min-height: 44px; align-items: center; padding: 0 12px 0 35px; border: 0; border-radius: 8px; background: transparent; color: #294433; font-size: 13px; font-weight: 680; text-align: left; }
.ipos-menu-picker__popover button::before { position: absolute; left: 13px; width: 12px; height: 7px; border-bottom: 2px solid transparent; border-left: 2px solid transparent; content: ''; transform: rotate(-45deg) translateY(-2px); }
.ipos-menu-picker__popover button[aria-selected="true"] { background: #e2f4e8; color: #075f38; font-weight: 800; }
.ipos-menu-picker__popover button[aria-selected="true"]::before { border-color: #0b7044; }
.ipos-menu-management__refresh { display: grid; width: 48px; height: 46px; place-items: center; border: 1px solid rgb(150 183 163 / 60%); border-radius: 8px; background: rgb(255 255 255 / 72%); color: #24754d; }
.ipos-menu-management__refresh:hover { background: #fff; border-color: #77ae8c; }
.ipos-menu-management__refresh svg { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.8; }

.ipos-menu-management__workspace { position: relative; display: grid; grid-template-columns: minmax(0, 1fr) minmax(360px, 400px); gap: 16px; height: clamp(520px, calc(100dvh - 320px), 720px); align-items: stretch; }
.ipos-menu-directory { display: flex; min-height: 0; flex-direction: column; overflow: hidden; border: 1px solid rgb(255 255 255 / 76%); border-radius: 12px; background: rgb(249 253 249 / 82%); box-shadow: inset 0 1px 0 rgb(255 255 255 / 88%), 0 13px 32px rgb(29 92 57 / 8%); }
.ipos-menu-directory > header { display: flex; flex: 0 0 auto; align-items: center; justify-content: space-between; gap: 12px; padding: 17px 18px 13px; border-bottom: 1px solid rgb(159 187 168 / 35%); }
.ipos-menu-directory h2 { margin: 0; font-size: 18px; letter-spacing: -.025em; }
.ipos-menu-directory > header > span { color: #648073; font-size: 12px; font-weight: 720; }
.ipos-menu-directory__list { display: grid; min-height: 0; flex: 1 1 auto; overflow: auto; scrollbar-color: var(--ipos-scrollbar-thumb) var(--ipos-scrollbar-track); scrollbar-width: thin; }
.ipos-menu-directory__item { display: grid; grid-template-columns: 52px minmax(0, 1fr) minmax(108px, .45fr) minmax(82px, .35fr) auto; align-items: center; gap: 12px; min-height: 82px; padding: 12px 16px; border-bottom: 1px solid rgb(159 187 168 / 26%); }
.ipos-menu-directory__item:hover { background: rgb(229 245 233 / 52%); }
.ipos-menu-directory__media { display: grid; width: 52px; height: 52px; place-items: center; overflow: hidden; border: 1px solid rgb(159 187 168 / 42%); border-radius: 8px; background: linear-gradient(145deg, #ddf1e3, #f9fcf9); color: #43805d; font-size: 11px; font-weight: 740; }
.ipos-menu-directory__media img { width: 100%; height: 100%; object-fit: cover; }
.ipos-menu-directory__open { display: grid; min-width: 0; min-height: 44px; gap: 4px; padding: 3px 0; border: 0; background: transparent; color: inherit; text-align: left; }
.ipos-menu-directory__open strong { overflow: hidden; font-size: 14px; text-overflow: ellipsis; white-space: nowrap; }
.ipos-menu-directory__open span { overflow: hidden; color: #70877a; font-size: 12px; text-overflow: ellipsis; white-space: nowrap; }
.ipos-menu-directory__price { color: #174d31; font-size: 14px; font-weight: 800; font-variant-numeric: tabular-nums; }
.ipos-menu-directory__badge { justify-self: start; padding: 6px 8px; border: 1px solid transparent; border-radius: 99px; font-size: 11px; font-weight: 760; white-space: nowrap; }
.ipos-menu-directory__badge.is-active { border-color: #b9dfc4; background: #e8f6eb; color: #237542; }.ipos-menu-directory__badge.is-paused { border-color: #f2ce96; background: #fff4df; color: #9a6218; }.ipos-menu-directory__badge.is-draft { border-color: #d9dfe1; background: #f3f5f5; color: #607177; }.ipos-menu-directory__badge.is-stock { border-color: #f1c3bd; background: #fff0ed; color: #ae4b3f; }
.ipos-menu-directory__actions { display: flex; justify-content: flex-end; gap: 6px; }.ipos-menu-directory__actions button, .ipos-menu-directory footer button { min-height: 44px; padding: 0 11px; border: 1px solid rgb(150 183 163 / 58%); border-radius: 7px; background: rgb(255 255 255 / 66%); color: #286445; font-size: 12px; font-weight: 760; white-space: nowrap; }.ipos-menu-directory__actions button:hover, .ipos-menu-directory footer button:hover { background: #fff; border-color: #72b68c; }.ipos-menu-directory__actions button.is-resume { border-color: #72b68c; background: #e8f5eb; color: #176a3d; }
.ipos-menu-directory__empty { display: grid; min-height: 0; flex: 1; place-items: center; gap: 12px; margin: 0; padding: 34px 22px; color: #74887d; text-align: center; }.ipos-menu-directory__empty button { min-height: 40px; padding: 0 14px; border: 1px solid rgb(150 183 163 / 58%); border-radius: 8px; background: rgb(255 255 255 / 66%); color: #286445; font-size: 13px; font-weight: 720; cursor: pointer; }.ipos-menu-directory footer { display: flex; flex: 0 0 auto; align-items: center; justify-content: center; gap: 12px; min-height: 58px; border-top: 1px solid rgb(159 187 168 / 28%); color: #668075; font-size: 12px; font-weight: 680; }.ipos-menu-directory footer button:disabled { cursor: not-allowed; opacity: .4; }
.ipos-menu-directory__skeleton { display: grid; grid-template-columns: 52px minmax(120px, 1fr) 88px 76px; align-items: center; gap: 12px; min-height: 82px; padding: 12px 16px; border-bottom: 1px solid rgb(159 187 168 / 26%); }.ipos-menu-directory__skeleton > * { display: block; border-radius: 8px; background: linear-gradient(100deg, #edf5ef, #f8fbf8); }.ipos-menu-directory__skeleton > span { width: 52px; height: 52px; }.ipos-menu-directory__skeleton > i { height: 16px; }.ipos-menu-directory__skeleton > b { width: 88px; height: 16px; }.ipos-menu-directory__skeleton > em { width: 64px; height: 28px; justify-self: end; }

.ipos-menu-inspector { position: relative; display: flex; min-width: 0; min-height: 0; height: 100%; flex-direction: column; overflow: hidden; border: 1px solid rgb(255 255 255 / 82%); border-radius: 14px; background: rgb(248 253 249 / 64%); box-shadow: inset 0 1px 0 rgb(255 255 255 / 90%), 0 16px 38px rgb(24 89 52 / 12%); backdrop-filter: blur(22px) saturate(132%); }
.ipos-menu-inspector[hidden] { display: none !important; }
.ipos-menu-management__workspace:has(.ipos-menu-inspector[hidden]) { grid-template-columns: minmax(0, 1fr); }
.ipos-menu-inspector > header { display: flex; flex: 0 0 auto; align-items: flex-start; justify-content: space-between; gap: 12px; padding: 15px 16px 13px; border-bottom: 1px solid rgb(159 187 168 / 34%); }
.ipos-menu-inspector__identity { display: flex; min-width: 0; align-items: center; gap: 11px; }.ipos-menu-inspector__identity-image { display: grid; width: 48px; height: 48px; flex: 0 0 48px; place-items: center; overflow: hidden; border: 1px solid rgb(158 194 171 / 52%); border-radius: 13px; background: linear-gradient(145deg, #dbf1e3, #f8fcf9); color: #258154; font-size: 21px; font-weight: 760; }.ipos-menu-inspector__identity-image img { width: 100%; height: 100%; object-fit: cover; }.ipos-menu-inspector > header small, .ipos-menu-category-sheet header small, .ipos-menu-management__discard small { display: block; margin-bottom: 3px; color: #5b8d70; font-size: 10px; font-weight: 800; letter-spacing: .09em; text-transform: uppercase; }.ipos-menu-inspector h2 { overflow: hidden; margin: 0; font-size: 18px; letter-spacing: -.025em; text-overflow: ellipsis; white-space: nowrap; }.ipos-menu-inspector__identity p { margin: 3px 0 0; color: #658073; font-size: 11px; line-height: 1.35; }.ipos-menu-inspector > header > button { display: grid; width: 44px; height: 44px; flex: 0 0 44px; place-items: center; border: 1px solid rgb(150 183 163 / 55%); border-radius: 50%; background: rgb(255 255 255 / 66%); color: #416650; }.ipos-menu-inspector > header > button:hover { background: #fff; border-color: #79ae8d; }.ipos-menu-inspector > header button svg { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-linecap: round; stroke-width: 1.8; }
.ipos-menu-inspector form { display: grid; min-height: 0; flex: 1; grid-template-rows: minmax(0, 1fr) auto; }.ipos-menu-inspector__scroll { display: grid; min-height: 0; align-content: start; gap: 14px; overflow: auto; padding: 16px; scrollbar-color: var(--ipos-scrollbar-thumb) var(--ipos-scrollbar-track); scrollbar-width: thin; }.ipos-menu-inspector__scroll > label, .ipos-menu-inspector__more-content > label, .ipos-menu-inspector__pricing label { display: grid; gap: 7px; }.ipos-menu-inspector label > span, .ipos-menu-inspector__field > span, .ipos-menu-inspector__pricing > div > span, .ipos-menu-inspector__quick > div > span { color: #476554; font-size: 12px; font-weight: 800; }.ipos-menu-inspector input:not([type="file"]), .ipos-menu-inspector textarea { padding: 11px 12px; font-size: 14px; }.ipos-menu-inspector input:not([type="file"]) { min-height: 46px; }.ipos-menu-inspector textarea { min-height: 92px; resize: vertical; line-height: 1.45; }.ipos-menu-inspector label small, .ipos-menu-inspector__pricing small, .ipos-menu-inspector__quick small, .ipos-menu-inspector__more small { color: #748e7f; font-size: 11px; line-height: 1.4; }
.ipos-menu-inspector__quick { display: flex; min-height: 64px; align-items: center; justify-content: space-between; gap: 10px; padding: 10px 11px 10px 13px; border: 1px solid rgb(177 214 189 / 68%); border-radius: 10px; background: rgb(239 250 242 / 78%); }.ipos-menu-inspector__quick > div { display: grid; gap: 3px; }.ipos-menu-inspector__quick button { display: inline-flex; min-height: 44px; align-items: center; gap: 7px; padding: 0 10px 0 7px; border: 1px solid #5da97c; border-radius: 99px; background: #0b7044; color: #fff; font-size: 12px; font-weight: 780; }.ipos-menu-inspector__quick button > span { width: 20px; height: 20px; border-radius: 50%; background: #fff; box-shadow: 0 1px 3px rgb(0 0 0 / 18%); }.ipos-menu-inspector__quick button.is-paused { border-color: #e3b96f; background: #fff5df; color: #865617; }.ipos-menu-inspector__quick button.is-paused > span { background: #d49326; }
.ipos-menu-inspector__pricing { padding: 13px; border-top: 1px solid rgb(159 187 168 / 30%); border-bottom: 1px solid rgb(159 187 168 / 30%); background: rgb(255 255 255 / 34%); }.ipos-menu-inspector__price-input { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; overflow: hidden; border: 1px solid rgb(150 183 163 / 60%); border-radius: 8px; background: rgb(255 255 255 / 80%); }.ipos-menu-inspector__price-input input { border: 0 !important; border-radius: 0 !important; background: transparent !important; font-variant-numeric: tabular-nums; }.ipos-menu-inspector__price-input b { padding: 0 12px; color: #557365; font-size: 11px; letter-spacing: .06em; }.ipos-menu-inspector__sizes { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; margin-top: 10px; }.ipos-menu-inspector__sizes[data-ipos-menu-variation-rows] { grid-template-columns: minmax(0, 1fr); gap: 0; }.ipos-menu-inspector__sizes label { display: grid; gap: 5px; color: #47745a; font-size: 12px; font-weight: 800; }.ipos-menu-inspector__sizes input { min-width: 0; font-variant-numeric: tabular-nums; }
.ipos-menu-variation-row { display: grid; grid-template-columns: 44px minmax(0, 1fr) 92px; grid-template-rows: 40px 40px; column-gap: 10px; row-gap: 6px; align-items: center; min-height: 96px; padding: 9px 0; border-bottom: 1px solid rgb(159 187 168 / 22%); }.ipos-menu-variation-row__toggle, .ipos-menu-variation-row__default, .ipos-menu-inspector__add-size { min-height: 40px; border: 1px solid #9bc7aa; border-radius: 7px; background: #fff; color: #176a3d; font-size: 11px; font-weight: 760; }.ipos-menu-variation-row__toggle { grid-row: 1 / span 2; min-height: 86px; }.ipos-menu-variation-row > strong { min-width: 0; overflow: hidden; font-size: 13px; text-overflow: ellipsis; white-space: nowrap; }.ipos-menu-variation-row__default { grid-column: 3; grid-row: 1 / span 2; min-height: 86px; padding: 0 6px; font-size: 10px; line-height: 1.2; text-wrap: balance; }.ipos-menu-variation-row__toggle[aria-pressed="true"], .ipos-menu-variation-row__default[aria-pressed="true"] { border-color: #0b7044; background: #e8f6eb; }.ipos-menu-variation-row input { grid-column: 2; width: 100%; min-height: 40px; border: 1px solid #a8c8b2; border-radius: 7px; padding: 0 7px; font-size: 12px; font-variant-numeric: tabular-nums; }.ipos-menu-inspector__add-size { width: 100%; min-height: 44px; margin-top: 10px; }
.ipos-menu-management__settings { min-height: 520px; overflow: hidden; border: 1px solid rgb(255 255 255 / 76%); border-radius: 12px; background: rgb(249 253 249 / 82%); box-shadow: inset 0 1px 0 rgb(255 255 255 / 88%), 0 13px 32px rgb(29 92 57 / 8%); }.ipos-menu-settings__header { display: flex; align-items: end; justify-content: space-between; gap: 18px; padding: 20px; border-bottom: 1px solid rgb(159 187 168 / 28%); }.ipos-menu-settings__header small { color: #318559; font-size: 11px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }.ipos-menu-settings__header h2 { margin: 5px 0 0; font-size: 21px; }.ipos-menu-settings__form { display: grid; grid-template-columns: minmax(170px, 1fr) 82px auto auto; gap: 8px; align-items: center; }.ipos-menu-settings__form input { min-height: 44px; border: 1px solid #a8c8b2; border-radius: 8px; padding: 0 10px; background: #fff; }.ipos-menu-settings__form label { color: #567767; font-size: 12px; white-space: nowrap; }.ipos-menu-settings__form label input { min-height: auto; }.ipos-menu-settings__form button { min-height: 44px; padding: 0 13px; border: 1px solid #0b7044; border-radius: 8px; background: #0b7044; color: #fff; font-size: 12px; font-weight: 780; }.ipos-menu-settings__list { max-height: 510px; overflow: auto; }.ipos-menu-settings__item { display: flex; min-height: 68px; align-items: center; justify-content: space-between; gap: 14px; padding: 12px 20px; border-bottom: 1px solid rgb(159 187 168 / 22%); }.ipos-menu-settings__item div { display: grid; gap: 3px; }.ipos-menu-settings__item span { color: #70877a; font-size: 12px; }.ipos-menu-settings__item button { min-height: 44px; padding: 0 12px; border: 1px solid #9bc7aa; border-radius: 8px; background: #fff; color: #176a3d; font-size: 12px; font-weight: 760; }.ipos-menu-settings__item[data-ipos-menu-sortable-item] { cursor: grab; }.ipos-menu-settings__item[data-ipos-menu-sortable-item].is-dragging { opacity: .42; cursor: grabbing; }.ipos-menu-settings__item[data-ipos-menu-sortable-item].is-drag-over { box-shadow: inset 0 3px 0 #0b7044; }.ipos-menu-settings__drag-handle { display: grid; width: 40px; min-height: 44px; place-items: center; color: #4b8060 !important; font-size: 22px !important; line-height: 1; user-select: none; }
.ipos-menu-inspector__field { display: grid; gap: 7px; }.ipos-menu-inspector__field > button { min-height: 48px; }.ipos-menu-segmented { display: grid; grid-template-columns: 1fr 1.34fr; gap: 5px; padding: 4px; border: 1px solid rgb(159 187 168 / 45%); border-radius: 10px; background: rgb(234 247 238 / 65%); }.ipos-menu-segmented button { min-height: 44px; padding: 0 8px; border: 1px solid transparent; border-radius: 7px; background: transparent; color: #4c6d5a; font-size: 12px; font-weight: 740; }.ipos-menu-segmented button[aria-checked="true"] { border-color: rgb(255 255 255 / 80%); background: #fff; box-shadow: 0 4px 11px rgb(32 97 61 / 10%); color: #0b7044; }
.ipos-menu-inspector__more { border-top: 1px solid rgb(159 187 168 / 32%); }.ipos-menu-inspector__more summary { display: flex; min-height: 64px; align-items: center; justify-content: space-between; gap: 12px; padding: 7px 1px; cursor: pointer; list-style: none; }.ipos-menu-inspector__more summary::-webkit-details-marker { display: none; }.ipos-menu-inspector__more summary > span { display: grid; gap: 3px; }.ipos-menu-inspector__more summary b { color: #254535; font-size: 13px; }.ipos-menu-inspector__more-content { display: grid; gap: 13px; padding: 3px 0 2px; }.ipos-menu-inspector__file-input { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); clip-path: inset(50%); white-space: nowrap; }.ipos-menu-inspector__image { display: grid; gap: 8px; cursor: pointer; }.ipos-menu-inspector__image-preview { display: grid; height: 132px; place-items: center; overflow: hidden; border: 1px dashed #85b99b; border-radius: 10px; background: #eff8f1; color: #5f846e; font-size: 12px; font-weight: 720; }.ipos-menu-inspector__image-preview img { width: 100%; height: 100%; object-fit: cover; }.ipos-menu-inspector__image-action { display: inline-flex; width: max-content; min-height: 44px; align-items: center; padding: 0 13px; border: 1px solid #82b69a; border-radius: 8px; background: rgb(255 255 255 / 76%); color: #176a3d !important; font-size: 12px !important; }
.ipos-menu-inspector__notice { padding: 10px 11px; border: 1px solid #e9c687; border-radius: 8px; background: #fff9e9; color: #895817; font-size: 12px; font-weight: 650; line-height: 1.4; }.ipos-menu-inspector__actions { display: flex; flex: 0 0 auto; flex-wrap: wrap; align-items: center; justify-content: flex-end; gap: 8px; padding: 12px 16px calc(12px + env(safe-area-inset-bottom)); border-top: 1px solid rgb(159 187 168 / 34%); background: rgb(248 253 249 / 90%); box-shadow: 0 -9px 18px rgb(30 93 57 / 5%); backdrop-filter: blur(16px); }.ipos-menu-inspector__actions button, .ipos-menu-inspector__actions a { display: inline-flex; min-height: 44px; align-items: center; justify-content: center; padding: 0 12px; border: 1px solid rgb(150 183 163 / 60%); border-radius: 8px; background: rgb(255 255 255 / 78%); color: #296744; font-size: 12px; font-weight: 780; text-decoration: none; }.ipos-menu-inspector__actions .is-primary { border-color: #0b7044; background: #0b7044; color: #fff; }.ipos-menu-inspector__actions button:disabled { cursor: wait; opacity: .55; }
.ipos-menu-category-sheet { position: absolute; z-index: 4; inset: 0; display: grid; min-height: 0; grid-template-rows: auto minmax(0, 1fr) auto; border-radius: inherit; background: rgb(248 253 249 / 97%); box-shadow: inset 0 1px 0 #fff; backdrop-filter: blur(22px) saturate(135%); }.ipos-menu-category-sheet header { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 18px 16px 13px; border-bottom: 1px solid rgb(159 187 168 / 34%); }.ipos-menu-category-sheet h3 { margin: 0; font-size: 18px; letter-spacing: -.025em; }.ipos-menu-category-sheet header > span { color: #547765; font-size: 12px; font-weight: 760; }.ipos-menu-category-sheet__list { min-height: 0; overflow: auto; padding: 9px 12px; }.ipos-menu-category-sheet__option { display: flex; width: 100%; min-height: 48px; align-items: center; gap: 11px; padding: 0 10px; border: 0; border-radius: 8px; background: transparent; color: #254535; font-size: 14px; font-weight: 680; text-align: left; }.ipos-menu-category-sheet__option:hover { background: #e8f6ec; }.ipos-menu-category-sheet__check { display: grid; width: 22px; height: 22px; flex: 0 0 22px; place-items: center; border: 1px solid #9bc7aa; border-radius: 7px; background: #fff; }.ipos-menu-category-sheet__option[aria-checked="true"] { color: #0b7044; font-weight: 800; }.ipos-menu-category-sheet__option[aria-checked="true"] .ipos-menu-category-sheet__check { border-color: #0b7044; background: #0b7044; }.ipos-menu-category-sheet__option[aria-checked="true"] .ipos-menu-category-sheet__check::after { width: 10px; height: 6px; border-bottom: 2px solid #fff; border-left: 2px solid #fff; content: ''; transform: rotate(-45deg) translateY(-1px); }.ipos-menu-category-sheet footer { display: flex; justify-content: flex-end; padding: 12px 16px; border-top: 1px solid rgb(159 187 168 / 34%); }.ipos-menu-category-sheet footer button { min-width: 100px; min-height: 44px; border: 1px solid #0b7044; border-radius: 8px; background: #0b7044; color: #fff; font-size: 13px; font-weight: 780; }
.ipos-menu-management__backdrop { display: none; position: fixed; z-index: 89; inset: 0; background: rgb(14 38 25 / 28%); }.ipos-menu-management__status { min-height: 20px; margin: 12px 2px 0; color: #497361; font-size: 12px; font-weight: 650; }.ipos-menu-management__status.is-error { color: #b2473c; }.ipos-menu-management__discard { position: fixed; z-index: 110; inset: 0; display: grid; place-items: center; padding: 18px; background: rgb(11 42 26 / 38%); }.ipos-menu-management__discard > div { width: min(100%, 390px); padding: 20px; border: 1px solid rgb(255 255 255 / 78%); border-radius: 16px; background: rgb(249 254 250 / 95%); box-shadow: inset 0 1px 0 #fff, 0 22px 52px rgb(12 49 29 / 24%); }.ipos-menu-management__discard h2 { margin: 0 0 8px; font-size: 20px; }.ipos-menu-management__discard p { margin: 0; color: #60756a; font-size: 13px; line-height: 1.5; }.ipos-menu-management__discard footer { display: flex; justify-content: flex-end; gap: 8px; margin-top: 18px; }.ipos-menu-management__discard button { min-height: 44px; padding: 0 12px; border: 1px solid #9bbfab; border-radius: 8px; background: #fff; color: #276443; font-size: 12px; font-weight: 760; }.ipos-menu-management__discard .is-danger { border-color: #c85b4e; background: #b9483d; color: #fff; }

@media (max-width: 1180px) {
	body.ipos-app-view-menu .ipos-admin-shell { grid-template-columns: 82px minmax(0, 1fr); } body.ipos-app-view-menu .ipos-admin-sidebar { align-items: center; margin-left: 10px; padding-inline: 8px; border-radius: 26px; } body.ipos-app-view-menu .ipos-admin-sidebar__brand img { width: 46px; } body.ipos-app-view-menu .ipos-admin-sidebar__link { min-height: 64px; padding: 7px 2px; border-radius: 17px; } body.ipos-app-view-menu .ipos-admin-sidebar__link > span:last-child { display: none; } body.ipos-app-view-menu .ipos-admin-content { padding: 20px 20px 28px 26px; }
	.ipos-menu-management__workspace { display: block; height: clamp(560px, calc(100dvh - 228px), 760px); }.ipos-menu-directory { height: 100%; }.ipos-menu-inspector { position: fixed; z-index: 90; top: 12px; right: 12px; bottom: 12px; width: min(420px, calc(100vw - 104px)); height: auto; border-radius: 16px; box-shadow: inset 0 1px 0 rgb(255 255 255 / 90%), -16px 12px 44px rgb(17 75 44 / 20%); }.ipos-menu-management__backdrop:not([hidden]) { display: block; }.ipos-menu-management__backdrop[hidden] { display: none; }
}
@media (max-width: 700px) {
	body.ipos-app-view-menu .ipos-admin-shell { display: block; } body.ipos-app-view-menu .ipos-admin-sidebar { position: fixed; z-index: 80; top: auto; right: 0; bottom: 0; left: 0; width: auto; height: auto; min-height: 0; margin: 0; padding: 5px 7px calc(5px + env(safe-area-inset-bottom)); border: 0; border-radius: 19px 19px 0 0; background: rgb(248 253 249 / 94%); box-shadow: 0 -9px 26px rgb(18 80 47 / 13%); backdrop-filter: blur(18px) saturate(130%); } body.ipos-app-view-menu .ipos-admin-sidebar__brand { display: none; } body.ipos-app-view-menu .ipos-admin-sidebar nav { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 2px; margin: 0; } body.ipos-app-view-menu .ipos-admin-sidebar__link { min-height: 56px; gap: 3px; padding: 5px 2px; border-radius: 14px; font-size: 10px; } body.ipos-app-view-menu .ipos-admin-sidebar__link > span:last-child { display: block; } body.ipos-app-view-menu .ipos-admin-sidebar__icon, body.ipos-app-view-menu .ipos-admin-sidebar__icon svg { width: 20px; height: 20px; } body.ipos-app-view-menu .ipos-admin-content { padding: 14px 13px calc(90px + env(safe-area-inset-bottom)); }
	.ipos-menu-management__header { align-items: flex-start; flex-direction: column; gap: 13px; padding: 3px 1px 15px; }.ipos-menu-management h1 { font-size: 32px; }.ipos-menu-management__header-actions { width: 100%; justify-content: space-between; }.ipos-menu-management__header-actions button { min-height: 44px; }.ipos-menu-management__toolbar { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) 48px; gap: 8px; padding: 9px; }.ipos-menu-management__search { grid-column: 1 / -1; }.ipos-menu-picker { min-width: 0; }.ipos-menu-picker > button { min-width: 0; padding-inline: 10px; }.ipos-menu-picker > button span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }.ipos-menu-picker__popover { position: fixed; z-index: 100; right: 13px; bottom: calc(76px + env(safe-area-inset-bottom)); left: 13px; top: auto; max-height: min(56dvh, 420px); }.ipos-menu-management__refresh { align-self: end; }
	.ipos-menu-management__sections { width: 100%; margin-left: 0; }.ipos-menu-management__sections button { flex: 1; padding-inline: 7px; }.ipos-menu-settings { min-height: 0; }.ipos-menu-settings__header { display: grid; align-items: start; padding: 16px; }.ipos-menu-settings__form { grid-template-columns: minmax(0, 1fr) 74px; width: 100%; }.ipos-menu-settings__form label { grid-column: 1 / -1; }.ipos-menu-settings__form button { grid-column: 1 / -1; }.ipos-menu-settings__item { padding-inline: 14px; }.ipos-menu-variation-row { grid-template-columns: 40px minmax(0, 1fr) 84px; }.ipos-menu-variation-row__toggle, .ipos-menu-variation-row__default { min-height: 86px; }
	.ipos-menu-management__workspace { display: block; height: auto; }.ipos-menu-directory { height: auto; min-height: 0; }.ipos-menu-directory__list { overflow: visible; }.ipos-menu-directory__item { grid-template-columns: 44px minmax(0, 1fr) auto; gap: 10px; min-height: 132px; padding: 12px 10px; }.ipos-menu-directory__media { width: 44px; height: 44px; }.ipos-menu-directory__open { min-height: 44px; }.ipos-menu-directory__open strong { font-size: 14px; }.ipos-menu-directory__open span { font-size: 11px; }.ipos-menu-directory__price { grid-column: 2; font-size: 14px; }.ipos-menu-directory__badge { grid-column: 3; grid-row: 1; align-self: end; justify-self: end; font-size: 11px; }.ipos-menu-directory__actions { grid-column: 2 / -1; grid-row: 3; justify-content: flex-start; }.ipos-menu-directory__actions button { flex: 1 1 0; }.ipos-menu-directory footer { min-height: 62px; }
	.ipos-menu-inspector { top: auto; right: 0; bottom: 0; left: 0; width: auto; max-height: min(88dvh, 760px); border-radius: 20px 20px 0 0; box-shadow: 0 -18px 48px rgb(16 80 46 / 22%); }.ipos-menu-inspector > header { padding: 14px 16px 11px; }.ipos-menu-inspector__scroll { padding: 14px 16px; }.ipos-menu-inspector__actions { padding: 11px 16px calc(11px + env(safe-area-inset-bottom)); }.ipos-menu-inspector__actions > * { flex: 1 1 auto; }.ipos-menu-inspector__actions .is-primary { flex: 1.4 1 auto; }.ipos-menu-category-sheet { position: fixed; z-index: 101; top: auto; right: 0; bottom: 0; left: 0; height: min(80dvh, 660px); border-radius: 20px 20px 0 0; box-shadow: 0 -18px 48px rgb(16 80 46 / 24%); }.ipos-menu-category-sheet footer { padding-bottom: calc(12px + env(safe-area-inset-bottom)); }.ipos-menu-management__status { padding-bottom: 4px; }
}

/* Basic finished-goods inventory (WooCommerce remains authoritative). */
.ipos-menu-directory__stock {
	display: block;
	margin-top: 3px;
	color: #587063;
	font-size: 11px;
	font-weight: 650;
}
.ipos-menu-directory__actions .is-stock-settings {
	border-color: #8db9d4;
	background: #eff8fd;
	color: #256282;
}
.ipos-menu-directory__badge.is-low-stock {
	border-color: #e5b85b;
	background: #fff6dc;
	color: #8a5a00;
}
.ipos-menu-inspector__group--inventory > p {
	margin: -4px 0 12px;
	color: #587063;
	font-size: 12px;
	line-height: 1.45;
}
.ipos-menu-inspector__group--inventory [data-ipos-menu-inventory-rows] {
	display: grid;
	gap: 10px;
}
.ipos-menu-inventory-card {
	display: grid;
	gap: 12px;
	padding: 13px;
	border: 1px solid rgb(144 177 156 / 48%);
	border-radius: 12px;
	background: rgb(255 255 255 / 68%);
}
.ipos-menu-inventory-card.is-lowstock { border-color: #e5b85b; background: #fffaf0; }
.ipos-menu-inventory-card.is-outofstock { border-color: #e1aaa4; background: #fff5f4; }
.ipos-menu-inventory-card > header,
.ipos-menu-inventory-card > footer {
	display: flex;
	gap: 12px;
	align-items: center;
	justify-content: space-between;
}
.ipos-menu-inventory-card > header div { display: grid; gap: 2px; }
.ipos-menu-inventory-card > header span,
.ipos-menu-inventory-card > header small,
.ipos-menu-inventory-card > footer small { color: #587063; font-size: 11px; }
.ipos-menu-inventory-card__fields {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 10px;
}
.ipos-menu-inventory-card__fields label { display: grid; gap: 5px; color: #456657; font-size: 12px; font-weight: 700; }
.ipos-menu-inventory-card__fields .ipos-menu-inventory-card__tracking {
	grid-column: 1 / -1;
	display: flex;
	align-items: center;
	gap: 8px;
}
.ipos-menu-inventory-card__tracking input { width: 18px; min-height: 18px; }
.ipos-menu-inventory-card__fields input,
.ipos-menu-inventory-card__fields select {
	width: 100%;
	min-height: 42px;
	padding: 8px 10px;
	border: 1px solid #a9c7b4;
	border-radius: 8px;
	background: #fff;
	color: #173e2b;
}
.ipos-menu-inventory-card__reason { grid-column: 1 / -1; }
.ipos-menu-inventory-card > footer button {
	min-height: 40px;
	padding: 0 14px;
	border: 0;
	border-radius: 8px;
	background: #176a3d;
	color: #fff;
	font-weight: 750;
	cursor: pointer;
}
.ipos-menu-inventory-card > footer button:disabled { opacity: .55; cursor: wait; }
@media (max-width: 700px) {
	.ipos-menu-inventory-card__fields { grid-template-columns: 1fr; }
	.ipos-menu-inventory-card__reason { grid-column: auto; }
	.ipos-menu-inventory-card > footer { align-items: stretch; flex-direction: column; }
}

@media (max-width: 380px) { .ipos-menu-management__header-actions > span { display: none; }.ipos-menu-management__toolbar { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) 48px; }.ipos-menu-inspector__actions { gap: 6px; }.ipos-menu-inspector__actions button, .ipos-menu-inspector__actions a { padding-inline: 9px; font-size: 11px; } }
@media (prefers-reduced-motion: reduce) { .ipos-menu-management *, .ipos-menu-management *::before, .ipos-menu-management *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; } }
@media (prefers-contrast: more) { body.ipos-app-view-menu { background: #f5fbf6; }.ipos-menu-management__toolbar, .ipos-menu-directory, .ipos-menu-inspector, .ipos-menu-picker__popover, .ipos-menu-category-sheet { background: #fff; border-color: #5e8b6e; box-shadow: none; }.ipos-menu-management__search input, .ipos-menu-picker > button, .ipos-menu-inspector input:not([type="file"]), .ipos-menu-inspector textarea, .ipos-menu-inspector__field > button { border-color: #3d7252; background: #fff; } }

/* IPOS-179: task-led menu management. Keep functional glass in chrome and make data/form surfaces matte. */
.ipos-menu-management__header-actions > span { color: #476554; font-variant-numeric: tabular-nums; }
.ipos-menu-management__header-actions button { white-space: nowrap; }
.ipos-menu-directory__item { grid-template-columns: 52px minmax(0, 1fr) minmax(84px, auto) auto auto; }
.ipos-menu-directory__actions { justify-content: flex-end; }
.ipos-menu-directory__actions .is-pause { border-color: #ddb269; background: #fff7e8; color: #865617; }
.ipos-menu-directory__actions .is-resume { border-color: #77b88d; background: #ecf8ef; color: #0b7044; }
.ipos-menu-directory__media img { object-fit: cover; }
.ipos-menu-inspector__publication { display: grid; gap: 3px; padding: 11px 13px; border: 1px solid #cadfd0; border-radius: 8px; background: #f8fdf9; }.ipos-menu-inspector__publication > span { color: #476554; font-size: 12px; font-weight: 800; }.ipos-menu-inspector__publication strong { color: #496c57; font-size: 14px; }.ipos-menu-inspector__publication small { color: #53715f; font-size: 12px; line-height: 1.4; }.ipos-menu-inspector__publication.is-published { border-color: #89bd9b; background: #eff9f1; }.ipos-menu-inspector__publication.is-published strong { color: #0b7044; }
.ipos-menu-inspector__quick { border-radius: 8px; background: #f8fdf9; }.ipos-menu-inspector__quick button { border-radius: 8px; }.ipos-menu-inspector__quick small, .ipos-menu-inspector label small, .ipos-menu-inspector__pricing small, .ipos-menu-inspector__more small { color: #53715f; font-size: 12px; }
.ipos-menu-inspector__pricing { background: #f8fdf9; }.ipos-menu-inspector__pricing-head { display: grid; gap: 4px; }.ipos-menu-inspector__pricing-head > span { color: #476554; font-size: 13px; font-weight: 800; }.ipos-menu-inspector__price-input input { font-variant-numeric: tabular-nums; }
.ipos-menu-inspector__sizes[data-ipos-menu-variation-rows] { gap: 0; margin-top: 12px; }.ipos-menu-variation-row { grid-template-columns: 44px minmax(62px, .58fr) minmax(0, 1fr) 44px; grid-template-rows: 64px; min-height: 64px; gap: 8px; padding: 7px 0; }.ipos-menu-variation-row__toggle { grid-row: auto; min-height: 44px; align-self: center; }.ipos-menu-variation-row > strong { align-self: center; font-size: 14px; }.ipos-menu-variation-row__price { display: grid; grid-template-columns: minmax(0, 1fr); gap: 0; min-width: 0; }.ipos-menu-variation-row__price > span { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); clip-path: inset(50%); white-space: nowrap; }.ipos-menu-variation-row input { grid-column: auto; min-height: 44px; padding-inline: 10px; font-size: 13px; }.ipos-menu-variation-row__default { grid-column: auto; grid-row: auto; min-height: 44px; padding: 0; font-size: 20px; line-height: 1; }.ipos-menu-variation-row__default[aria-pressed="true"] { color: #a46611; border-color: #d9af61; background: #fff7e7; }.ipos-menu-inspector__add-size { margin-top: 12px; border-radius: 8px; }
.ipos-menu-inspector__actions { justify-content: flex-end; }.ipos-menu-inspector__actions a { border: 0; background: transparent; color: #416b51; text-decoration: underline; text-underline-offset: 3px; }.ipos-menu-inspector__actions button:not(.is-primary) { background: #fff; }.ipos-menu-management__status { display: flex; min-height: 24px; align-items: center; gap: 10px; color: #416b51; font-size: 12px; font-weight: 700; }.ipos-menu-management__status button { min-height: 36px; padding: 0 10px; border: 1px solid currentColor; border-radius: 7px; background: #fff; color: inherit; font: inherit; }
.ipos-menu-management__settings { min-height: 0; border-radius: 10px; background: #f8fdf9; box-shadow: 0 10px 24px rgb(29 92 57 / 6%); }.ipos-menu-settings__header { align-items: start; padding: 22px; }.ipos-menu-settings__header p { max-width: 58ch; margin: 7px 0 0; color: #53715f; font-size: 13px; line-height: 1.45; }.ipos-menu-settings__list { max-height: none; }.ipos-menu-settings__item { min-height: 72px; padding: 13px 20px; }.ipos-menu-settings__item-main { min-width: 0; }.ipos-menu-settings__item-main strong { color: #264b35; font-size: 14px; }.ipos-menu-settings__item span { color: #53715f; font-size: 12px; }.ipos-menu-settings__item .ipos-menu-settings__item-actions { display: inline-flex; align-items: center; gap: 6px; }.ipos-menu-settings__item .ipos-menu-settings__item-actions button { display: inline-grid; min-width: 40px; min-height: 40px; place-items: center; padding: 0; }.ipos-menu-settings__item .ipos-menu-settings__item-actions .ipos-menu-settings__edit { min-width: 58px; padding: 0 10px; }.ipos-menu-settings__empty { margin: 0; padding: 30px 20px; color: #53715f; }
.ipos-menu-settings-sheet { position: fixed; z-index: 120; inset: 0; display: grid; place-items: center; padding: 20px; background: rgb(15 53 30 / 36%); }.ipos-menu-settings-sheet[hidden] { display: none; }.ipos-menu-settings-sheet__panel { width: min(100%, 480px); border: 1px solid rgb(255 255 255 / 82%); border-radius: 14px; background: rgb(249 254 250 / 98%); box-shadow: inset 0 1px 0 #fff, 0 24px 60px rgb(12 49 29 / 24%); }.ipos-menu-settings-sheet header { display: flex; align-items: flex-start; justify-content: space-between; gap: 14px; padding: 20px 20px 13px; border-bottom: 1px solid #d8e8dc; }.ipos-menu-settings-sheet small { color: #47745a; font-size: 12px; font-weight: 760; }.ipos-menu-settings-sheet h2 { margin: 4px 0 0; color: #234633; font-size: 21px; letter-spacing: -.02em; }.ipos-menu-settings-sheet__close { display: grid; width: 44px; height: 44px; flex: 0 0 44px; place-items: center; padding: 0; border: 1px solid #b7d2c0; border-radius: 50%; background: #fff; color: #355d43; font-size: 27px; line-height: 1; }.ipos-menu-settings-sheet form { display: grid; gap: 16px; padding: 18px 20px 20px; }.ipos-menu-settings-sheet label { display: grid; gap: 7px; color: #476554; font-size: 13px; font-weight: 800; }.ipos-menu-settings-sheet input { min-height: 48px; padding: 0 12px; border: 1px solid #a4c8b0; border-radius: 8px; background: #fff; color: #254535; font: inherit; }.ipos-menu-settings-sheet__switch-field { display: flex; min-height: 64px; align-items: center; justify-content: space-between; gap: 12px; padding: 10px 11px 10px 13px; border: 1px solid #c4dec9; border-radius: 8px; background: #f2faf3; }.ipos-menu-settings-sheet__switch-field > div { display: grid; gap: 3px; }.ipos-menu-settings-sheet__switch-field strong { color: #365b43; font-size: 13px; }.ipos-menu-settings-sheet__switch-field small { color: #53715f; font-weight: 500; line-height: 1.35; }.ipos-menu-settings-sheet__switch { width: 54px; min-height: 34px; flex: 0 0 54px; padding: 3px; border: 1px solid #c5d8ca; border-radius: 99px; background: #dde9e0; }.ipos-menu-settings-sheet__switch::after { display: block; width: 26px; height: 26px; border-radius: 50%; background: #fff; box-shadow: 0 1px 3px rgb(0 0 0 / 18%); content: ''; transition: transform .16s ease; }.ipos-menu-settings-sheet__switch[aria-checked="true"] { border-color: #0b7044; background: #0b7044; }.ipos-menu-settings-sheet__switch[aria-checked="true"]::after { transform: translateX(20px); }.ipos-menu-settings-sheet__impact { margin: 0; padding: 10px 11px; border-left: 3px solid #8ebfa0; background: #f0f8f1; color: #476b55; font-size: 12px; line-height: 1.45; }.ipos-menu-settings-sheet footer { display: flex; align-items: center; justify-content: space-between; gap: 8px; }.ipos-menu-settings-sheet__footer-actions { display: inline-flex; gap: 8px; margin-left: auto; }.ipos-menu-settings-sheet__delete { border-color: #a34e3d; background: #fff5f2; color: #a34e3d; }.ipos-menu-settings-sheet__delete:hover { border-color: #893a2d; background: #ffece7; color: #893a2d; }.ipos-menu-settings-sheet footer button { min-height: 44px; padding: 0 13px; border: 1px solid #9ac5a6; border-radius: 8px; background: #fff; color: #286343; font-size: 13px; font-weight: 760; }.ipos-menu-settings-sheet footer .is-primary { border-color: #0b7044; background: #0b7044; color: #fff; }
@media (max-width: 700px) { .ipos-menu-directory__item { grid-template-columns: 44px minmax(0, 1fr) auto; min-height: 108px; }.ipos-menu-directory__actions { grid-column: 3; grid-row: 2; align-self: end; }.ipos-menu-directory__actions button { min-width: 66px; flex: 0 0 auto; }.ipos-menu-directory__price { grid-column: 2; }.ipos-menu-variation-row { grid-template-columns: 42px minmax(48px, .55fr) minmax(0, 1fr) 42px; gap: 7px; }.ipos-menu-variation-row__toggle, .ipos-menu-variation-row__default { min-height: 42px; }.ipos-menu-inspector { bottom: calc(76px + env(safe-area-inset-bottom)); max-height: calc(100dvh - 88px - env(safe-area-inset-bottom)); border-radius: 18px 18px 0 0; }.ipos-menu-inspector__actions { padding-bottom: 11px; }.ipos-menu-category-sheet { bottom: calc(76px + env(safe-area-inset-bottom)); height: min(74dvh, 620px); border-radius: 18px 18px 0 0; }.ipos-menu-settings-sheet { align-items: end; padding: 0; }.ipos-menu-settings-sheet__panel { width: 100%; border-radius: 18px 18px 0 0; }.ipos-menu-settings-sheet footer { padding-bottom: calc(2px + env(safe-area-inset-bottom)); } }
@media (prefers-reduced-transparency: reduce) { .ipos-menu-management__toolbar, .ipos-menu-inspector, .ipos-menu-category-sheet, .ipos-menu-settings-sheet__panel { background: #f8fdf9; backdrop-filter: none; } }

/* Inventory reuses the product inspector shell instead of introducing another drawer. */
.ipos-menu-inspector:not([data-mode="inventory"]) [data-ipos-menu-inventory] {
	display: none !important;
}
.ipos-menu-inspector[data-mode="inventory"] form {
	grid-template-rows: minmax(0, 1fr);
}
.ipos-menu-inspector[data-mode="inventory"] .ipos-menu-inspector__scroll > :not([data-ipos-menu-inventory]):not([data-ipos-menu-form-notice]),
.ipos-menu-inspector[data-mode="inventory"] .ipos-menu-inspector__actions,
.ipos-menu-inspector[data-mode="inventory"] .ipos-menu-inspector__overflow {
	display: none !important;
}
.ipos-menu-inspector[data-mode="inventory"] .ipos-menu-inspector__scroll {
	align-content: start;
	padding: 18px;
}
.ipos-menu-inspector[data-mode="inventory"] .ipos-menu-inspector__group--inventory {
	display: grid;
	gap: 14px;
	padding: 0;
	border: 0;
	background: transparent;
}
.ipos-menu-inspector[data-mode="inventory"] .ipos-menu-inspector__group-heading {
	padding-bottom: 12px;
	border-bottom: 1px solid var(--ipos-line);
}
.ipos-menu-inspector[data-mode="inventory"] .ipos-menu-inspector__group-heading h3 {
	margin: 0;
	color: var(--ipos-ink);
	font-size: 15px;
}
.ipos-menu-inspector[data-mode="inventory"] .ipos-menu-inspector__group-heading p {
	margin: 4px 0 0;
	color: var(--ipos-muted);
	font-size: 12px;
	line-height: 1.45;
}
.ipos-menu-inspector[data-mode="inventory"] .ipos-menu-inventory-card {
	gap: 14px;
	padding: 14px;
	border: 1px solid var(--ipos-line);
	border-radius: 8px;
	background: var(--ipos-surface);
}
.ipos-menu-inspector[data-mode="inventory"] .ipos-menu-inventory-card__fields input,
.ipos-menu-inspector[data-mode="inventory"] .ipos-menu-inventory-card__fields select {
	min-height: 44px;
	border-color: var(--ipos-line-strong);
	border-radius: 6px;
	background: var(--ipos-surface);
	color: var(--ipos-ink);
}
.ipos-menu-inspector[data-mode="inventory"] .ipos-menu-inventory-card > footer button {
	min-height: 44px;
	border-radius: 6px;
	background: var(--ipos-action);
}
.ipos-menu-inspector[data-mode="inventory"] .ipos-menu-inventory-card > footer button:hover {
	background: var(--ipos-action-hover);
}

@media (max-width: 700px) {
	.ipos-menu-inspector[data-mode="inventory"] .ipos-menu-inspector__scroll {
		padding: 14px 16px;
	}
}

/* Inventory fields use the same compact, touch-first controls as the inspector. */
.ipos-menu-inspector[data-mode="inventory"] .ipos-menu-inventory-card > header {
	align-items: flex-start;
}
.ipos-menu-inspector[data-mode="inventory"] .ipos-menu-inventory-card > header > div {
	min-width: 0;
}
.ipos-menu-inspector[data-mode="inventory"] .ipos-menu-inventory-card > header strong {
	color: var(--ipos-ink);
	font-size: 15px;
}
.ipos-menu-inspector[data-mode="inventory"] .ipos-menu-inventory-card > header span,
.ipos-menu-inspector[data-mode="inventory"] .ipos-menu-inventory-card > header small {
	color: var(--ipos-muted);
	font-size: 11px;
	line-height: 1.35;
}
.ipos-menu-inspector[data-mode="inventory"] .ipos-menu-inventory-card__fields {
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	gap: 12px;
}
.ipos-menu-inspector[data-mode="inventory"] .ipos-menu-inventory-card__fields label {
	min-width: 0;
	color: var(--ipos-muted);
	font-size: 12px;
	font-weight: 700;
}
.ipos-menu-inspector[data-mode="inventory"] .ipos-menu-inventory-card__fields
	.ipos-menu-inventory-card__tracking {
	display: flex;
	min-height: 44px;
	align-items: center;
	gap: 9px;
	color: var(--ipos-ink);
}
.ipos-menu-inspector[data-mode="inventory"] .ipos-menu-inventory-card__tracking input[type="checkbox"] {
	width: 18px !important;
	height: 18px !important;
	min-height: 18px !important;
	flex: 0 0 18px;
	margin: 0;
	accent-color: var(--ipos-action);
}
.ipos-menu-inspector[data-mode="inventory"] .ipos-menu-inventory-card__fields input[type="number"],
.ipos-menu-inspector[data-mode="inventory"] .ipos-menu-inventory-card__fields select {
	width: 100%;
	min-height: 44px;
	padding: 9px 10px;
	border: 1px solid var(--ipos-line-strong);
	border-radius: 6px;
	background: var(--ipos-surface);
	color: var(--ipos-ink);
	font-size: 14px;
	font-variant-numeric: tabular-nums;
}
.ipos-menu-inspector[data-mode="inventory"] .ipos-menu-inventory-card__reason {
	grid-column: 1 / -1;
}
.ipos-menu-inspector[data-mode="inventory"] .ipos-menu-inventory-card > footer {
	align-items: center;
	padding-top: 2px;
}
.ipos-menu-inspector[data-mode="inventory"] .ipos-menu-inventory-card > footer small {
	max-width: 30ch;
	color: var(--ipos-muted);
	font-size: 11px;
	line-height: 1.4;
}
.ipos-menu-inspector[data-mode="inventory"] .ipos-menu-inventory-card > footer button {
	min-width: 100px;
	min-height: 44px;
	padding-inline: 14px;
	border: 1px solid var(--ipos-action);
	border-radius: 6px;
	background: var(--ipos-action);
	color: #fff;
	font-size: 13px;
	font-weight: 750;
}
.ipos-menu-inspector[data-mode="inventory"] .ipos-menu-inventory-card > footer button:hover {
	border-color: var(--ipos-action-hover);
	background: var(--ipos-action-hover);
}

@media (max-width: 380px) {
	.ipos-menu-inspector[data-mode="inventory"] .ipos-menu-inventory-card__fields {
		grid-template-columns: 1fr;
	}
	.ipos-menu-inspector[data-mode="inventory"] .ipos-menu-inventory-card__reason {
		grid-column: auto;
	}
	.ipos-menu-inspector[data-mode="inventory"] .ipos-menu-inventory-card > footer {
		align-items: stretch;
		flex-direction: column;
	}
	.ipos-menu-inspector[data-mode="inventory"] .ipos-menu-inventory-card > footer button {
		width: 100%;
	}
}

/* IPOS-181: keep the Inspector decisive and resilient during deferred image upload. */
.ipos-menu-inspector__header-actions { display: inline-flex; flex: 0 0 auto; align-items: center; gap: 7px; }
.ipos-menu-inspector__overflow { position: relative; }
.ipos-menu-inspector__status-row { position: relative; display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 2px 14px; min-height: 0; padding: 10px 0; border: 0; border-bottom: 1px solid rgb(159 187 168 / 30%); border-radius: 0; background: transparent; }
.ipos-menu-inspector__status-row > span, .ipos-menu-inspector__status-row > div > span { align-self: center; color: #476554; font-size: 13px; font-weight: 800; }
.ipos-menu-inspector__status-row > strong { align-self: center; color: #0b7044; font-size: 13px; font-weight: 800; text-align: right; }
.ipos-menu-inspector__status-row small { grid-column: 1 / -1; margin-top: 2px; color: #6e8578; font-size: 11px; line-height: 1.35; }
.ipos-menu-inspector__publication.is-published { border-color: rgb(159 187 168 / 30%); background: transparent; }
.ipos-menu-inspector__publication.is-published strong { color: #0b7044; }
.ipos-menu-inspector__quick { align-items: center; }
.ipos-menu-inspector__quick > div { display: contents; }
.ipos-menu-inspector__quick button { grid-column: 2; grid-row: 1; min-height: 36px; padding: 0 8px 0 5px; border-radius: 99px; font-size: 12px; }
.ipos-menu-inspector__quick button > span { width: 18px; height: 18px; }
.ipos-menu-inspector__pricing { padding: 13px 0; border-bottom: 1px solid rgb(159 187 168 / 30%); background: transparent; }
.ipos-menu-inspector__pricing-head { min-height: 20px; }
.ipos-menu-inspector__image { display: grid; grid-template-columns: 64px minmax(0, 1fr); align-items: center; gap: 10px; cursor: default; }
.ipos-menu-inspector__image-preview { width: 64px; height: 64px; border-style: dashed; border-radius: 11px; font-size: 10px; text-align: center; }
.ipos-menu-inspector__image > div { display: grid; gap: 4px; justify-items: start; }
.ipos-menu-inspector__image-action { display: inline-flex; min-height: 44px; align-items: center; gap: 7px; padding: 0 10px; border: 1px solid #82b69a; border-radius: 8px; background: #fff; color: #176a3d; font-size: 12px; font-weight: 760; }
.ipos-menu-inspector__image-action svg, .ipos-menu-inspector__actions svg { width: 17px; height: 17px; flex: 0 0 17px; fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.8; }
.ipos-menu-inspector__image > div > small { color: #6e8578; font-size: 11px; line-height: 1.35; }
.ipos-menu-inspector__image-error { grid-column: 1 / -1; margin: 0; padding: 8px 9px; border-left: 3px solid #c58538; background: #fff8e9; color: #875719; font-size: 11px; font-weight: 700; line-height: 1.35; }
.ipos-menu-inspector__actions { flex-wrap: nowrap; justify-content: flex-end; }
.ipos-menu-inspector__actions button { gap: 7px; white-space: nowrap; }
.ipos-menu-inspector__actions button:not(.is-primary) { color: #285f40; }

@media (max-width: 700px) {
	.ipos-menu-inspector__header-actions { gap: 5px; }
	.ipos-menu-inspector__status-row { gap: 3px 10px; }
	.ipos-menu-inspector__image { grid-template-columns: 56px minmax(0, 1fr); }
	.ipos-menu-inspector__image-preview { width: 56px; height: 56px; }
	.ipos-menu-inspector__actions { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.25fr); padding-inline: 16px; }
	.ipos-menu-inspector__actions > * { min-width: 0; }
}

@media (max-width: 340px) {
	.ipos-menu-inspector__actions button { gap: 5px; padding-inline: 8px; font-size: 11px; }
	.ipos-menu-inspector__actions svg { width: 15px; height: 15px; flex-basis: 15px; }
}

/* IPOS-182: compact POS property editor. Glass belongs to the shell, not every field. */
.ipos-menu-management__workspace {
	grid-template-columns: minmax(0, 1fr) minmax(560px, 600px);
	gap: 18px;
}

.ipos-menu-inspector {
	border-color: rgb(255 255 255 / 84%);
	border-radius: 20px;
	background: rgb(250 253 251 / 78%);
	box-shadow: inset 0 1px 0 rgb(255 255 255 / 96%), inset 0 0 0 1px rgb(255 255 255 / 24%), 0 22px 52px rgb(26 78 50 / 14%);
	backdrop-filter: blur(24px) saturate(118%);
}

.ipos-menu-inspector > header {
	position: relative;
	z-index: 10;
	min-height: 64px;
	align-items: center;
	padding: 6px 12px;
	border-bottom-color: rgb(117 139 126 / 18%);
	background: rgb(252 254 253 / 56%);
	box-shadow: inset 0 1px 0 rgb(255 255 255 / 92%);
	backdrop-filter: blur(18px) saturate(112%);
}

.ipos-menu-inspector__identity {
	gap: 10px;
}

.ipos-menu-inspector__identity-image {
	width: 50px;
	height: 50px;
	flex-basis: 50px;
	border-color: rgb(96 122 106 / 20%);
	border-radius: 14px;
	background: #edf4ef;
	color: #516a5b;
	box-shadow: inset 0 1px 0 rgb(255 255 255 / 84%);
	font-size: 18px;
}

.ipos-menu-inspector__identity > div {
	min-width: 0;
}

.ipos-menu-inspector > header small {
	margin-bottom: 1px;
	color: #6d7d73;
	font-size: 9px;
	letter-spacing: .07em;
}

.ipos-menu-inspector h2 {
	color: #1d3025;
	font-size: 17px;
	font-weight: 760;
	letter-spacing: -.025em;
}

.ipos-menu-inspector__identity p {
	margin-top: 2px;
	color: #6d7c73;
	font-size: 11px;
}

.ipos-menu-inspector__header-actions {
	gap: 4px;
}

.ipos-menu-inspector__overflow-trigger,
.ipos-menu-inspector__close {
	width: 44px;
	height: 44px;
	border: 1px solid transparent;
	border-radius: 12px;
	background: transparent;
	color: #53665a;
}

.ipos-menu-inspector__overflow-trigger:hover,
.ipos-menu-inspector__overflow.is-open .ipos-menu-inspector__overflow-trigger,
.ipos-menu-inspector__close:hover {
	border-color: rgb(105 132 115 / 20%);
	background: rgb(255 255 255 / 70%);
	color: #183b28;
	box-shadow: inset 0 1px 0 rgb(255 255 255 / 90%);
}

.ipos-menu-inspector__overflow-menu {
	position: absolute;
	z-index: 8;
	top: calc(100% + 7px);
	right: 0;
	display: grid;
	width: 248px;
	padding: 7px;
	border: 1px solid rgb(255 255 255 / 86%);
	border-radius: 14px;
	background: rgb(250 252 250 / 96%);
	box-shadow: inset 0 1px 0 #fff, 0 18px 42px rgb(23 61 40 / 19%);
	backdrop-filter: blur(22px) saturate(112%);
}

.ipos-menu-inspector__overflow:not(.is-open) .ipos-menu-inspector__overflow-menu {
	display: none;
}

.ipos-menu-inspector__overflow-menu button {
	position: static;
	display: flex;
	width: 100%;
	min-width: 0;
	min-height: 46px;
	align-items: center;
	gap: 10px;
	padding: 0 11px;
	border: 0;
	border-radius: 9px;
	background: transparent;
	box-shadow: none;
	color: #293c31;
	font-size: 13px;
	font-weight: 680;
	text-align: left;
	text-decoration: none;
	white-space: nowrap;
}

.ipos-menu-inspector__overflow-menu button:hover {
	background: #edf2ee;
}

.ipos-menu-inspector__overflow-menu button {
	color: #8a5a1a;
}

.ipos-menu-inspector__overflow-menu svg {
	width: 18px;
	height: 18px;
	flex: 0 0 18px;
	fill: none;
	stroke: currentColor;
	stroke-linecap: round;
	stroke-linejoin: round;
	stroke-width: 1.7;
}

.ipos-menu-inspector form {
	background: rgb(247 250 248 / 38%);
}

.ipos-menu-inspector__scroll {
	gap: 16px;
	padding: 14px 16px 18px;
	overscroll-behavior: contain;
	scrollbar-color: var(--ipos-scrollbar-thumb) var(--ipos-scrollbar-track);
}

.ipos-menu-inspector__notice {
	border: 0;
	border-left: 3px solid #c08737;
	border-radius: 7px;
	background: #fff6e5;
	color: #744c19;
	box-shadow: none;
}

.ipos-menu-inspector__state {
	display: grid;
	grid-template-columns: minmax(0, .82fr) minmax(0, 1.18fr);
	min-height: 64px;
	overflow: hidden;
	border: 1px solid rgb(120 141 128 / 18%);
	border-radius: 13px;
	background: rgb(255 255 255 / 55%);
	box-shadow: inset 0 1px 0 rgb(255 255 255 / 82%);
}

.ipos-menu-inspector__status-row,
.ipos-menu-inspector__publication,
.ipos-menu-inspector__publication.is-published,
.ipos-menu-inspector__quick {
	min-height: 64px;
	padding: 10px 12px;
	border: 0;
	border-radius: 0;
	background: transparent;
}

.ipos-menu-inspector__quick {
	border-left: 1px solid rgb(120 141 128 / 18%);
}

.ipos-menu-inspector__status-row > span,
.ipos-menu-inspector__status-row > div > span {
	color: #637168;
	font-size: 12px;
	font-weight: 680;
}

.ipos-menu-inspector__status-row > strong {
	justify-self: end;
	padding: 5px 8px;
	border: 1px solid #d4dad6;
	border-radius: 7px;
	background: #f0f2f1;
	color: #5e6b63;
	font-size: 11px;
	font-weight: 760;
}

.ipos-menu-inspector__publication.is-published strong {
	border-color: #b9d7c2;
	background: #e9f4ec;
	color: #17643c;
}

.ipos-menu-inspector__status-row small {
	color: #78857d;
	font-size: 10px;
}

.ipos-menu-inspector__quick button {
	min-height: 44px;
	border-color: #0d7447;
	border-radius: 99px;
	background: #0d7447;
	box-shadow: inset 0 1px 0 rgb(255 255 255 / 20%);
	color: #fff;
}

.ipos-menu-inspector__quick button.is-paused {
	border-color: #d6aa61;
	background: #fff3dc;
	color: #855414;
}

.ipos-menu-inspector__group,
.ipos-menu-inspector__more {
	padding: 0 2px;
	border: 0;
	background: transparent;
}

.ipos-menu-inspector__group > h3 {
	margin: 0;
	padding: 0 2px 7px;
	color: #68776d;
	font-size: 12px;
	font-weight: 760;
	letter-spacing: .025em;
}

.ipos-menu-inspector__property,
.ipos-menu-inspector__pricing.ipos-menu-inspector__property,
.ipos-menu-inspector__field.ipos-menu-inspector__property {
	display: grid;
	grid-template-columns: 116px minmax(0, 1fr);
	min-height: 64px;
	align-items: center;
	gap: 12px;
	padding: 6px 2px;
	border: 0;
	border-top: 1px solid rgb(120 141 128 / 16%);
	background: transparent;
}

.ipos-menu-inspector__pricing.ipos-menu-inspector__property > label {
	display: contents;
}

.ipos-menu-inspector__property > span,
.ipos-menu-inspector__property > label > span,
.ipos-menu-inspector__pricing.ipos-menu-inspector__property > label > span {
	color: #56655c;
	font-size: 13px;
	font-weight: 680;
}

.ipos-menu-inspector input:not([type="file"]),
.ipos-menu-inspector textarea,
.ipos-menu-inspector__field > button,
.ipos-menu-inspector__price-input,
.ipos-menu-segmented {
	border-color: #d2dbd5;
	border-radius: 10px;
	background: rgb(255 255 255 / 76%);
	box-shadow: inset 0 1px 0 rgb(255 255 255 / 88%);
	color: #1f3327;
}

.ipos-menu-inspector input:not([type="file"]),
.ipos-menu-inspector__field > button,
.ipos-menu-inspector__price-input {
	min-height: 52px;
}

.ipos-menu-inspector input:not([type="file"]),
.ipos-menu-inspector textarea {
	padding: 10px 13px;
	font-size: 16px;
}

.ipos-menu-inspector input:not([type="file"]):hover,
.ipos-menu-inspector textarea:hover,
.ipos-menu-inspector__field > button:hover {
	border-color: #aebeb4;
	background: #fff;
}

.ipos-menu-inspector input:not([type="file"]):focus,
.ipos-menu-inspector textarea:focus {
	border-color: #26865a;
	box-shadow: 0 0 0 3px rgb(38 134 90 / 12%), inset 0 1px 0 #fff;
	outline: 0;
}

.ipos-menu-inspector__price-input input {
	min-height: 50px;
	font-variant-numeric: tabular-nums;
}

.ipos-menu-inspector__price-input b {
	color: #718078;
	font-size: 11px;
	font-weight: 720;
}

.ipos-menu-inspector__field > button {
	padding-inline: 13px;
	font-size: 15px;
	font-weight: 650;
}

.ipos-menu-inspector__field > button > span,
.ipos-menu-category-sheet__option > span:last-child {
	min-width: 0;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.ipos-menu-inspector__quick button b,
.ipos-menu-segmented button,
.ipos-menu-inspector__image-action,
.ipos-menu-inspector__add-size {
	white-space: nowrap;
}

.ipos-menu-segmented {
	min-height: 52px;
	padding: 4px;
}

.ipos-menu-segmented button {
	min-height: 44px;
	border-radius: 7px;
	color: #59675e;
	font-size: 13px;
	font-weight: 680;
}

.ipos-menu-segmented button[aria-checked="true"] {
	border-color: #d9e2dc;
	background: #fff;
	box-shadow: 0 3px 9px rgb(30 68 45 / 8%);
	color: #195f3c;
}

.ipos-menu-inspector__variable {
	padding: 12px 2px 2px;
	border: 0;
	border-top: 1px solid rgb(120 141 128 / 16%);
	background: transparent;
}

.ipos-menu-inspector__pricing-head > span {
	color: #56655c;
	font-size: 13px;
	font-weight: 680;
}

.ipos-menu-variation-row {
	grid-template-columns: 44px minmax(68px, .45fr) minmax(140px, 1fr) 44px;
	border-bottom-color: rgb(120 141 128 / 15%);
}

.ipos-menu-variation-row__toggle,
.ipos-menu-variation-row__default,
.ipos-menu-inspector__add-size {
	border-color: #c8d4cc;
	background: rgb(255 255 255 / 76%);
	color: #4d6255;
}

.ipos-menu-variation-row__toggle[aria-pressed="true"] {
	border-color: #79ad8b;
	background: #e8f3eb;
	color: #17643c;
}

.ipos-menu-variation-row__default[aria-pressed="true"] {
	border-color: #d6af69;
	background: #fff4df;
	color: #8b5a16;
}

.ipos-menu-inspector__more {
	border-top: 1px solid rgb(120 141 128 / 16%);
}

.ipos-menu-inspector__more summary {
	min-height: 56px;
	padding: 4px 2px;
}

.ipos-menu-inspector__more summary b {
	color: #34483b;
	font-size: 13px;
	font-weight: 720;
}

.ipos-menu-inspector__more summary small {
	color: #78857d;
	font-size: 11px;
}

.ipos-menu-inspector__more-content {
	gap: 12px;
	padding: 4px 0 2px;
}

.ipos-menu-inspector__image {
	grid-template-columns: 72px minmax(0, 1fr);
	min-height: 82px;
	gap: 12px;
	padding: 5px 2px 10px;
}

.ipos-menu-inspector__image-preview {
	width: 72px;
	height: 72px;
	border: 1px dashed #aabbb0;
	border-radius: 13px;
	background: #f0f4f1;
	color: #718078;
}

.ipos-menu-inspector__image-action {
	min-height: 44px;
	border-color: #c2d0c7;
	border-radius: 9px;
	background: rgb(255 255 255 / 78%);
	color: #254b35;
}

.ipos-menu-inspector__image-action:hover {
	border-color: #85aa91;
	background: #fff;
}

.ipos-menu-inspector__image-error {
	border-left-color: #c08737;
	border-radius: 7px;
	background: #fff6e5;
	color: #744c19;
}

.ipos-menu-inspector__more-content > .ipos-menu-inspector__property {
	grid-template-columns: 116px minmax(0, 1fr);
}

.ipos-menu-inspector textarea {
	min-height: 84px;
	line-height: 1.42;
}

.ipos-menu-inspector__actions {
	min-height: 68px;
	gap: 8px;
	padding: 9px 14px calc(9px + env(safe-area-inset-bottom));
	border-top-color: rgb(117 139 126 / 18%);
	background: rgb(250 253 251 / 78%);
	box-shadow: 0 -12px 30px rgb(32 73 48 / 7%), inset 0 1px 0 rgb(255 255 255 / 84%);
	backdrop-filter: blur(18px) saturate(112%);
}

.ipos-menu-inspector__actions button {
	min-height: 48px;
	gap: 8px;
	padding-inline: 16px;
	border-color: #c6d2ca;
	border-radius: 10px;
	background: rgb(255 255 255 / 78%);
	color: #344d3e;
	font-size: 13px;
	font-weight: 740;
}

.ipos-menu-inspector__actions .is-primary {
	min-width: 138px;
	border-color: #0b7044;
	background: #0b7044;
	box-shadow: inset 0 1px 0 rgb(255 255 255 / 20%), 0 8px 18px rgb(11 112 68 / 16%);
	color: #fff;
}

.ipos-menu-inspector button:active {
	transform: none;
}

.ipos-menu-management__delete-dialog {
	position: fixed;
	z-index: 125;
	inset: 0;
	display: grid;
	place-items: center;
	padding: 18px;
	background: rgb(20 35 26 / 36%);
	backdrop-filter: blur(6px);
}

.ipos-menu-management__delete-dialog > div {
	width: min(100%, 400px);
	padding: 20px;
	border: 1px solid rgb(255 255 255 / 86%);
	border-radius: 18px;
	background: rgb(252 253 252 / 96%);
	box-shadow: inset 0 1px 0 #fff, 0 24px 60px rgb(18 42 27 / 24%);
}

.ipos-menu-management__delete-dialog small {
	color: #8a5a1a;
	font-size: 11px;
	font-weight: 760;
}

.ipos-menu-management__delete-dialog h2 {
	margin: 5px 0 8px;
	color: #25372c;
	font-size: 20px;
	letter-spacing: -.02em;
}

.ipos-menu-management__delete-dialog p {
	margin: 0;
	color: #637168;
	font-size: 13px;
	line-height: 1.5;
}

.ipos-menu-management__delete-dialog footer {
	display: flex;
	justify-content: flex-end;
	gap: 8px;
	margin-top: 18px;
}

.ipos-menu-management__delete-dialog button {
	min-height: 44px;
	padding: 0 13px;
	border: 1px solid #c7d1ca;
	border-radius: 9px;
	background: #fff;
	color: #3d5144;
	font-size: 13px;
	font-weight: 720;
}

.ipos-menu-management__delete-dialog .is-danger {
	border-color: #c38a36;
	background: #a96916;
	color: #fff;
}

@media (max-width: 1180px) {
	.ipos-menu-management__workspace {
		display: block;
	}

	.ipos-menu-inspector {
		width: min(600px, calc(100vw - 96px));
		border-radius: 20px;
	}
}

@media (max-width: 900px) {
	/* Keep the background catalog from widening the app shell while the drawer is open. */
	.ipos-menu-management,
	.ipos-menu-management__toolbar {
		min-width: 0;
	}

	.ipos-menu-management__toolbar {
		grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) 48px;
	}

	.ipos-menu-management__search {
		grid-column: 1 / -1;
	}

	.ipos-menu-picker,
	.ipos-menu-picker > button {
		min-width: 0;
	}

	.ipos-menu-picker > button span {
		overflow: hidden;
		text-overflow: ellipsis;
		white-space: nowrap;
	}
}

@media (max-width: 700px) {
	.ipos-menu-inspector {
		top: 0;
		right: 0;
		bottom: calc(76px + env(safe-area-inset-bottom));
		left: 0;
		width: 100%;
		max-height: none;
		border-width: 0;
		border-radius: 0;
		box-shadow: none;
	}

	.ipos-menu-inspector > header {
		min-height: calc(64px + env(safe-area-inset-top));
		padding: calc(6px + env(safe-area-inset-top)) 10px 6px;
	}

	.ipos-menu-inspector__identity-image {
		width: 48px;
		height: 48px;
		flex-basis: 48px;
	}

	.ipos-menu-inspector__scroll {
		gap: 14px;
		padding: 13px 14px 18px;
	}

	.ipos-menu-inspector__state {
		grid-template-columns: minmax(0, 1fr) minmax(0, 1.2fr);
	}

	.ipos-menu-inspector__status-row,
	.ipos-menu-inspector__publication,
	.ipos-menu-inspector__quick {
		padding-inline: 10px;
	}

	.ipos-menu-inspector__property,
	.ipos-menu-inspector__pricing.ipos-menu-inspector__property,
	.ipos-menu-inspector__field.ipos-menu-inspector__property,
	.ipos-menu-inspector__more-content > .ipos-menu-inspector__property {
		grid-template-columns: 92px minmax(0, 1fr);
		gap: 9px;
	}

	.ipos-menu-inspector__property > span,
	.ipos-menu-inspector__property > label > span,
	.ipos-menu-inspector__pricing.ipos-menu-inspector__property > label > span {
		font-size: 12px;
	}

	.ipos-menu-inspector input:not([type="file"]),
	.ipos-menu-inspector textarea {
		font-size: 15px;
	}

	.ipos-menu-inspector__overflow-menu {
		position: absolute;
		top: calc(100% + 8px);
		right: 0;
		bottom: auto;
		left: auto;
		width: min(280px, calc(100vw - 20px));
		padding: 8px;
		border-radius: 17px;
	}

	.ipos-menu-inspector__overflow-menu button {
		min-height: 52px;
	}

	.ipos-menu-inspector__image {
		grid-template-columns: 64px minmax(0, 1fr);
	}

	.ipos-menu-inspector__image-preview {
		width: 64px;
		height: 64px;
	}

	.ipos-menu-inspector__actions {
		display: flex;
		min-height: 66px;
		padding: 9px 14px;
	}

	.ipos-menu-inspector__actions > * {
		flex: 0 1 auto;
	}

	.ipos-menu-inspector__actions .is-primary {
		flex: 1 1 150px;
	}
}

@media (max-width: 380px) {
	.ipos-menu-inspector__state {
		grid-template-columns: 1fr;
	}

	.ipos-menu-inspector__quick {
		border-top: 1px solid rgb(120 141 128 / 18%);
		border-left: 0;
	}

	.ipos-menu-inspector__property,
	.ipos-menu-inspector__pricing.ipos-menu-inspector__property,
	.ipos-menu-inspector__field.ipos-menu-inspector__property,
	.ipos-menu-inspector__more-content > .ipos-menu-inspector__property {
		grid-template-columns: 78px minmax(0, 1fr);
		gap: 8px;
	}

	.ipos-menu-inspector__actions button {
		padding-inline: 11px;
		font-size: 12px;
	}
}

@media (prefers-reduced-transparency: reduce) {
	.ipos-menu-inspector,
	.ipos-menu-inspector > header,
	.ipos-menu-inspector__actions,
	.ipos-menu-inspector__overflow-menu,
	.ipos-menu-management__delete-dialog > div {
		background: #f9fbfa;
		backdrop-filter: none;
	}
}

@media (prefers-contrast: more) {
	.ipos-menu-inspector__state,
	.ipos-menu-inspector input:not([type="file"]),
	.ipos-menu-inspector textarea,
	.ipos-menu-inspector__field > button,
	.ipos-menu-inspector__price-input,
	.ipos-menu-segmented {
		border-color: #496456;
		background: #fff;
	}
}

/* IPOS-183: make the directory's price a clear, keyboard-accessible detail target. */
.ipos-menu-directory__open strong { font-size: 15px; font-weight: 720; }
.ipos-menu-directory__open span { font-weight: 520; }
.ipos-menu-directory__price {
	min-height: 44px;
	padding: 3px 0;
	border: 0;
	background: transparent;
	color: #174d31;
	font: inherit;
	font-size: 14px;
	font-weight: 800;
	font-variant-numeric: tabular-nums;
	text-align: left;
	text-decoration: none;
	white-space: nowrap;
}
.ipos-menu-directory__price:hover { color: #0b7044; text-decoration: underline; text-underline-offset: 4px; }
.ipos-menu-directory__price:focus-visible { outline: 2px solid #0b7044; outline-offset: 3px; border-radius: 4px; }
.ipos-menu-management.is-cashier-mode .ipos-menu-directory__open,
.ipos-menu-management.is-cashier-mode .ipos-menu-directory__price { cursor: default; }
.ipos-menu-management.is-cashier-mode .ipos-menu-directory__price:hover { color: #174d31; text-decoration: none; }
.ipos-menu-directory__actions button {
	display: grid;
	width: 44px;
	min-width: 44px;
	height: 44px;
	min-height: 44px;
	place-items: center;
	padding: 0;
	border-radius: 10px;
}
.ipos-menu-directory__actions button svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.8; }
.ipos-menu-directory__actions button:active { transform: translateY(1px); }

/* A destructive action is explicit, but the server uses recoverable trash. */
.ipos-menu-management__delete-dialog small { color: #a34e3d; }
.ipos-menu-management__delete-dialog .is-danger { border-color: #a34e3d; background: #a34e3d; color: #fff; }
.ipos-menu-management__delete-dialog .is-danger:hover { border-color: #893a2d; background: #893a2d; }

/* On phones the Inspector enters as a focused sheet instead of appearing abruptly. */
@media (max-width: 700px) {
	.ipos-menu-inspector { opacity: 0; transform: translateY(14px); transition: opacity .2s ease, transform .24s cubic-bezier(.22, .8, .24, 1); }
	.ipos-menu-inspector.is-visible { opacity: 1; transform: translateY(0); }
	.ipos-menu-directory__actions button { flex: 0 0 44px; }
	.ipos-menu-directory__actions button svg { width: 16px; height: 16px; }
	.ipos-menu-inspector__header-actions { gap: 2px; }
	.ipos-menu-inspector > header .ipos-menu-inspector__header-actions button svg { width: 18px; height: 18px; }
	.ipos-menu-inspector__actions { gap: 6px; padding-inline: 12px; }
	.ipos-menu-inspector__actions button { gap: 6px; padding-inline: 12px; }
	.ipos-menu-inspector__actions svg { width: 16px; height: 16px; flex-basis: 16px; }
}

/* IPOS-327: keep mobile catalog metadata and actions in distinct scan rows. */
@media (max-width: 700px) {
	.ipos-menu-directory__item {
		grid-template-columns: 44px minmax(0, 1fr) auto;
		grid-template-rows: auto auto auto;
		min-height: 148px;
	}
	.ipos-menu-directory__media { grid-column: 1; grid-row: 1; }
	.ipos-menu-directory__open { grid-column: 2 / -1; grid-row: 1; }
	.ipos-menu-directory__price { grid-column: 2; grid-row: 2; align-self: center; }
	.ipos-menu-directory__badge { grid-column: 3; grid-row: 2; align-self: center; justify-self: end; }
	.ipos-menu-directory__actions { grid-column: 2 / -1; grid-row: 3; justify-content: flex-end; }
}

/* IPOS-184: make stateful controls feel like one POS surface instead of a
 * collection of web-form defaults. Motion stays transform-based and bounded. */
.ipos-menu-management__sections {
	position: relative;
	isolation: isolate;
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	width: min(100%, 420px);
	min-width: 280px;
}

.ipos-menu-management__section-indicator {
	position: absolute;
	z-index: 0;
	top: 4px;
	bottom: 4px;
	left: 4px;
	width: calc((100% - 16px) / 3);
	border: 1px solid rgb(255 255 255 / 84%);
	border-radius: 8px;
	background: #fff;
	box-shadow: 0 4px 11px rgb(32 97 61 / 10%);
	content: '';
	transform: translateX(calc(var(--ipos-section-index, 0) * (100% + 4px)));
	transition: transform .24s cubic-bezier(.22, .8, .24, 1);
}

.ipos-menu-management__sections button {
	position: relative;
	z-index: 1;
	min-width: 0;
	background: transparent;
}

.ipos-menu-management__sections button[aria-pressed="true"] {
	background: transparent;
	box-shadow: none;
	color: #0b7044;
}

.ipos-menu-inspector__state {
	grid-template-columns: minmax(0, 1fr);
}

.ipos-menu-inspector__quick {
	border-left: 0;
	justify-content: space-between;
}

.ipos-menu-inspector__quick > div {
	min-width: 0;
}

.ipos-menu-inspector__quick button {
	margin-left: auto;
	flex: 0 0 auto;
}

.ipos-menu-directory__price:hover {
	text-decoration: none;
}

.ipos-menu-inspector__add-size {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 7px;
	min-height: 46px;
	margin-top: 12px;
	border: 1px dashed #8bb99b;
	border-radius: 10px;
	background: #f2f9f3;
	color: #176a3d;
	font-size: 13px;
	font-weight: 760;
	transition: background .18s ease, border-color .18s ease, color .18s ease;
}

.ipos-menu-inspector__add-size:hover,
.ipos-menu-inspector__add-size:focus-visible {
	border-style: solid;
	border-color: #4c9a6e;
	background: #e8f5eb;
	color: #0b7044;
}

.ipos-menu-segmented {
	position: relative;
	isolation: isolate;
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.ipos-menu-segmented__indicator {
	position: absolute;
	z-index: 0;
	top: 4px;
	bottom: 4px;
	left: 4px;
	width: calc((100% - 18px) / 3);
	border: 1px solid #d9e2dc;
	border-radius: 7px;
	background: #fff;
	box-shadow: 0 3px 9px rgb(30 68 45 / 8%);
	transform: translateX(0);
	transition: transform .22s cubic-bezier(.22, .8, .24, 1);
}

.ipos-menu-segmented[data-active-type="variable"] .ipos-menu-segmented__indicator {
	transform: translateX(calc(100% + 5px));
}

.ipos-menu-segmented[data-active-type="combo"] .ipos-menu-segmented__indicator {
	transform: translateX(calc(200% + 10px));
}

.ipos-menu-segmented button {
	position: relative;
	z-index: 1;
	background: transparent;
}

.ipos-menu-segmented button[aria-checked="true"] {
	border-color: transparent;
	background: transparent;
	box-shadow: none;
	color: #195f3c;
}

@media (min-width: 701px) and (max-width: 1180px) {
	.ipos-menu-inspector {
		opacity: 0;
		transform: translateX(24px);
		transition: opacity .22s ease, transform .28s cubic-bezier(.22, .8, .24, 1);
	}

	.ipos-menu-inspector.is-visible {
		opacity: 1;
		transform: translateX(0);
	}
}

@media (max-width: 700px) {
	.ipos-menu-directory__actions button {
		border-color: transparent;
		background: transparent;
		box-shadow: none;
	}

	.ipos-menu-directory__actions button svg {
		width: 14px;
		height: 14px;
	}

	.ipos-menu-directory__actions button:hover,
	.ipos-menu-directory__actions button:focus-visible {
		border-color: #77b88d;
		background: #ecf8ef;
	}

	.ipos-menu-directory__actions button.is-pause:hover,
	.ipos-menu-directory__actions button.is-pause:focus-visible {
		border-color: #ddb269;
		background: #fff7e8;
	}

	.ipos-menu-inspector__property,
	.ipos-menu-inspector__pricing.ipos-menu-inspector__property,
	.ipos-menu-inspector__field.ipos-menu-inspector__property,
	.ipos-menu-inspector__more-content > .ipos-menu-inspector__property {
		grid-template-columns: 76px minmax(0, 1fr);
		gap: 8px;
	}

	.ipos-menu-inspector__property > span,
	.ipos-menu-inspector__property > label > span,
	.ipos-menu-inspector__pricing.ipos-menu-inspector__property > label > span {
		overflow: hidden;
		font-size: 11px;
		text-overflow: ellipsis;
		white-space: nowrap;
	}

	.ipos-menu-inspector__field > button {
		min-height: 44px;
		padding-inline: 10px;
		font-size: 14px;
	}
}

@media (max-width: 380px) {
	.ipos-menu-inspector__property,
	.ipos-menu-inspector__pricing.ipos-menu-inspector__property,
	.ipos-menu-inspector__field.ipos-menu-inspector__property,
	.ipos-menu-inspector__more-content > .ipos-menu-inspector__property {
		grid-template-columns: 68px minmax(0, 1fr);
		gap: 7px;
	}
}

@media (prefers-reduced-motion: reduce) {
	.ipos-menu-management__section-indicator,
	.ipos-menu-segmented__indicator,
	.ipos-menu-inspector__add-size,
	.ipos-menu-inspector {
		transition-duration: .01ms !important;
	}
}

/* IPOS-187: make the Inspector read as three POS work areas instead of one
 * long form. Surfaces stay quiet and flat; the section rail and spacing do the
 * hierarchy work without adding another card inside the drawer. */
body.ipos-app-shell .ipos-menu-inspector__group {
	margin: 0 0 12px;
	padding: 0 10px 10px;
	border: 1px solid rgb(120 157 133 / 22%);
	border-radius: 16px;
	background: rgb(255 255 255 / 38%);
	box-shadow: inset 0 1px 0 rgb(255 255 255 / 70%);
}
body.ipos-app-shell .ipos-menu-inspector__group > h3 {
	display: flex;
	min-height: 42px;
	align-items: center;
	gap: 8px;
	margin: 0 -10px;
	padding: 10px 12px 9px;
	border-bottom: 1px solid rgb(120 157 133 / 18%);
	color: #3d5f4b;
	font-size: 13px;
	font-weight: 790;
	letter-spacing: .02em;
}
body.ipos-app-shell .ipos-menu-inspector__group > h3::before {
	width: 4px;
	height: 17px;
	flex: 0 0 4px;
	border-radius: 99px;
	background: var(--ipos-action);
	content: '';
}
body.ipos-app-shell .ipos-menu-inspector__group--selling > h3::before {
	background: #5b8e6c;
}
body.ipos-app-shell .ipos-menu-inspector__group--info > .ipos-field--floating {
	margin-top: 10px;
	padding: 12px 2px 5px;
	border-top: 0;
}
body.ipos-app-shell .ipos-menu-inspector__group--info > .ipos-field--floating > span:first-child:not(.screen-reader-text) {
	top: 12px;
	background: #f3f8f4;
}
body.ipos-app-shell .ipos-menu-inspector__group--info > .ipos-menu-inspector__pricing {
	margin-top: 4px;
	border-top-color: rgb(120 157 133 / 14%);
}
body.ipos-app-shell .ipos-menu-inspector__group--info > .ipos-menu-inspector__field.ipos-field--floating {
	margin-top: 4px;
}
body.ipos-app-shell .ipos-menu-inspector__group--selling > .ipos-menu-inspector__field:not(.ipos-field--floating) {
	margin-top: 10px;
	padding-top: 4px;
	border-top: 0;
}
body.ipos-app-shell .ipos-menu-inspector__group--selling .ipos-menu-inspector__variable:not([hidden]) {
	margin: 10px 2px 2px;
	padding: 12px;
	border: 1px solid rgb(86 145 106 / 28%);
	border-radius: 13px;
	background: rgb(242 251 245 / 78%);
	box-shadow: inset 0 1px 0 rgb(255 255 255 / 78%);
}
body.ipos-app-shell .ipos-menu-inspector__group--selling .ipos-menu-inspector__pricing-head {
	display: flex;
	min-height: 22px;
	align-items: center;
	gap: 8px;
}
body.ipos-app-shell .ipos-menu-inspector__group--selling .ipos-menu-inspector__pricing-head::before {
	width: 6px;
	height: 6px;
	flex: 0 0 6px;
	border-radius: 50%;
	background: #4a9862;
	box-shadow: 0 0 0 3px rgb(74 152 98 / 12%);
	content: '';
}
body.ipos-app-shell .ipos-menu-inspector__group--selling .ipos-menu-inspector__pricing-head > span {
	color: #376148;
	font-size: 12px;
	font-weight: 800;
	letter-spacing: .015em;
}

/* Cost inputs are operational data: keep them beside sale price and explicit. */
body.ipos-app-shell .ipos-menu-inspector__pricing[data-ipos-menu-simple-pricing] { gap: 12px; }
body.ipos-app-shell .ipos-menu-variation-row { grid-template-columns: 44px minmax(52px, .45fr) minmax(0, 1fr) minmax(0, 1fr) 44px; }
body.ipos-app-shell .ipos-menu-variation-row__price.is-cost input { border-color: #d6b56b; background: #fffaf0; }
@media (max-width: 700px) {
	body.ipos-app-shell .ipos-menu-variation-row { grid-template-columns: 40px minmax(42px, .4fr) minmax(0, 1fr) minmax(0, 1fr) 40px; }
}

@media (max-width: 700px) {
	body.ipos-app-shell .ipos-menu-inspector__group {
		margin-bottom: 10px;
		padding-inline: 8px;
		border-radius: 14px;
	}
	body.ipos-app-shell .ipos-menu-inspector__group > h3 {
		margin-inline: -8px;
		padding-inline: 10px;
	}
	body.ipos-app-shell .ipos-menu-inspector__group--info > .ipos-field--floating {
		padding-top: 12px;
	}
	body.ipos-app-shell .ipos-menu-inspector__group--selling .ipos-menu-inspector__variable:not([hidden]) {
		padding: 10px;
	}
}

/* IPOS-188: the disclosure is the third Inspector work area. Keep it
 * collapsible, but let the open content use the same band, media row and
 * floating-label language as the primary fields above. */
body.ipos-app-shell .ipos-menu-inspector__more.ipos-menu-inspector__group {
	margin-bottom: 0;
	padding: 0 10px 10px;
	border: 1px solid rgb(120 157 133 / 22%);
	border-radius: 16px;
	background: rgb(255 255 255 / 38%);
	box-shadow: inset 0 1px 0 rgb(255 255 255 / 70%);
}
body.ipos-app-shell .ipos-menu-inspector__more.ipos-menu-inspector__group > summary {
	min-height: 58px;
	margin: 0 -10px;
	padding: 9px 12px 10px;
	border-bottom: 1px solid rgb(120 157 133 / 18%);
}
body.ipos-app-shell .ipos-menu-inspector__more.ipos-menu-inspector__group > summary > span {
	position: relative;
	gap: 2px;
	padding-left: 12px;
}
body.ipos-app-shell .ipos-menu-inspector__more.ipos-menu-inspector__group > summary > span::before {
	position: absolute;
	top: 2px;
	bottom: 2px;
	left: 0;
	width: 4px;
	border-radius: 99px;
	background: #7a9a83;
	content: '';
}
body.ipos-app-shell .ipos-menu-inspector__more.ipos-menu-inspector__group > summary b {
	color: #3d5f4b;
	font-size: 13px;
	font-weight: 790;
}
body.ipos-app-shell .ipos-menu-inspector__more.ipos-menu-inspector__group > summary small {
	color: #748a7b;
	font-size: 11px;
}
body.ipos-app-shell .ipos-menu-inspector__more.ipos-menu-inspector__group .ipos-menu-inspector__more-content {
	gap: 10px;
	padding: 10px 2px 2px;
}
body.ipos-app-shell .ipos-menu-inspector__more.ipos-menu-inspector__group .ipos-menu-inspector__image {
	grid-template-columns: 76px minmax(0, 1fr);
	min-height: 86px;
	gap: 11px;
	padding: 0 0 10px;
	border-bottom: 1px solid rgb(120 157 133 / 15%);
}
body.ipos-app-shell .ipos-menu-inspector__more.ipos-menu-inspector__group .ipos-menu-inspector__image-preview {
	width: 76px;
	height: 76px;
	border: 1px solid rgb(120 157 133 / 38%);
	border-radius: 14px;
	background: rgb(239 248 241 / 86%);
}
body.ipos-app-shell .ipos-menu-inspector__more.ipos-menu-inspector__group .ipos-menu-inspector__image > div {
	gap: 5px;
}
body.ipos-app-shell .ipos-menu-inspector__more.ipos-menu-inspector__group .ipos-menu-inspector__image-action {
	min-height: 44px;
	padding-inline: 11px;
	border-color: #a9c8b2;
	border-radius: 10px;
	background: rgb(255 255 255 / 72%);
	font-size: 12px;
	font-weight: 760;
}
body.ipos-app-shell .ipos-menu-inspector__more.ipos-menu-inspector__group .ipos-menu-inspector__image > div > small {
	color: #748a7b;
	font-size: 10px;
	line-height: 1.35;
}
body.ipos-app-shell .ipos-menu-inspector__more.ipos-menu-inspector__group .ipos-menu-inspector__more-content > .ipos-menu-inspector__property.ipos-field--floating {
	display: block;
	margin: 0;
	padding: 12px 0 0;
	border-top: 0;
}
body.ipos-app-shell .ipos-menu-inspector__more.ipos-menu-inspector__group .ipos-menu-inspector__property.ipos-field--floating > span:first-child:not(.screen-reader-text) {
	top: 12px;
	left: 10px;
	background: #f3f8f4;
}
body.ipos-app-shell .ipos-menu-inspector__more.ipos-menu-inspector__group .ipos-menu-inspector__property.ipos-field--floating textarea {
	width: 100%;
	min-height: 96px;
	padding: 16px 14px 8px;
	border-radius: 12px !important;
}

@media (max-width: 700px) {
	body.ipos-app-shell .ipos-menu-inspector__more.ipos-menu-inspector__group {
		padding-inline: 8px;
		border-radius: 14px;
	}
	body.ipos-app-shell .ipos-menu-inspector__more.ipos-menu-inspector__group > summary {
		margin-inline: -8px;
		padding-inline: 10px;
	}
	body.ipos-app-shell .ipos-menu-inspector__more.ipos-menu-inspector__group .ipos-menu-inspector__image {
		grid-template-columns: 64px minmax(0, 1fr);
		min-height: 74px;
		gap: 10px;
	}
	body.ipos-app-shell .ipos-menu-inspector__more.ipos-menu-inspector__group .ipos-menu-inspector__image-preview {
		width: 64px;
		height: 64px;
		border-radius: 12px;
	}
}

/* Modifier groups editor on product inspector */
.ipos-menu-modifiers { display: grid; gap: 12px; margin-bottom: 10px; }
.ipos-menu-modifiers__empty { margin: 0; color: #5d7a68; font-size: 13px; }
.ipos-menu-modifier-group { display: grid; gap: 10px; padding: 12px; border: 1px solid rgb(159 187 168 / 40%); border-radius: 12px; background: rgb(255 255 255 / 55%); }
.ipos-menu-modifier-group__head { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 8px; align-items: end; }
.ipos-menu-modifier-group__label,
.ipos-menu-modifier-group__bounds label,
.ipos-menu-modifier-option label { display: grid; gap: 4px; color: #47745a; font-size: 11px; font-weight: 700; }
.ipos-menu-modifier-group input { min-height: 40px; padding: 0 10px; border: 1px solid rgb(150 183 163 / 60%); border-radius: 8px; background: #fff; }
.ipos-menu-modifier-group__bounds { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.ipos-menu-modifier-group__options { display: grid; gap: 8px; }
.ipos-menu-modifier-option { display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(86px, .7fr) minmax(86px, .7fr) 36px; gap: 8px; align-items: end; }
.ipos-menu-modifier-option button,
.ipos-menu-modifier-group__remove,
.ipos-menu-modifier-group__add-option { min-height: 40px; border: 1px solid #9bc7aa; border-radius: 8px; background: #fff; color: #176a3d; font-size: 12px; font-weight: 720; cursor: pointer; }
.ipos-menu-modifier-group__remove { padding: 0 10px; }
.ipos-menu-modifier-group__add-option { width: 100%; }
/* The history button is a utility control, never a second primary CTA. */
body.ipos-app-view-menu .ipos-menu-management__header-actions > .ipos-menu-management__history-link {
	display: inline-grid;
	width: 46px;
	min-width: 46px;
	height: 46px;
	min-height: 46px;
	place-items: center;
	padding: 0 !important;
	border: 1px solid rgb(23 107 77 / 22%);
	border-radius: 14px;
	background: rgb(255 255 255 / 64%);
	box-shadow: inset 0 1px 0 rgb(255 255 255 / 78%), 0 8px 18px rgb(28 98 61 / 10%);
	color: #176b4d;
}
body.ipos-app-view-menu .ipos-menu-management__header-actions > .ipos-menu-management__history-link:hover { background: #eef8f1; color: #0f5e39; }
body.ipos-app-view-menu .ipos-menu-management__header-actions > .ipos-menu-management__history-link > svg { display:block; width:21px; height:21px; margin:0; }

/* IPOS-202: keep Menu history visually consistent with the Settings utility
 * on phone widths. A labeled utility balances the summary and primary CTA;
 * the accessible aria-label remains the source of truth for assistive tech. */
@media (max-width: 700px) {
	body.ipos-app-view-menu .ipos-menu-management__header-actions > .ipos-menu-management__history-link {
	display: inline-flex;
	width: auto;
	min-width: 88px;
	height: 46px;
	min-height: 46px;
	align-items: center;
	justify-content: center;
	gap: 7px;
	padding: 0 10px !important;
	}
	body.ipos-app-view-menu .ipos-menu-management__header-actions > .ipos-menu-management__history-link::after {
	content: "Lịch sử";
	font-size: 12px;
	font-weight: 760;
	line-height: 1;
	white-space: nowrap;
	}
	body.ipos-app-view-menu .ipos-menu-management__header-actions > .ipos-menu-management__history-link > svg {
	display: block;
	width: 20px;
	height: 20px;
	margin: 0;
	flex: 0 0 auto;
	}
}

/* IPOS-200: Menu used to own a legacy four-slot bottom bar. It now defers to
 * the shared five-item staff dock; extra specificity beats this file's older
 * route-local mobile rule without changing the Menu workspace itself. */
@media (max-width:700px) {
	body.ipos-app-shell.ipos-app-view-menu .ipos-admin-sidebar { position:static; width:0; height:0; min-height:0; margin:0; padding:0; border:0; background:transparent; box-shadow:none; -webkit-backdrop-filter:none; backdrop-filter:none; }
	body.ipos-app-shell.ipos-app-view-menu .ipos-admin-sidebar nav { position:fixed; z-index:55; right:12px; bottom:max(10px, env(safe-area-inset-bottom)); left:12px; display:grid; grid-template-columns:repeat(5, minmax(0, 1fr)); gap:5px; width:auto; margin:0; padding:7px; border:1px solid var(--ipos-lg-edge); border-radius:26px; background:var(--ipos-lg-glass-thick); box-shadow:inset 0 1px 0 var(--ipos-lg-inner-highlight), 0 14px 36px var(--ipos-lg-shadow); -webkit-backdrop-filter:blur(24px) saturate(1.2); backdrop-filter:blur(24px) saturate(1.2); }
	body.ipos-app-shell.ipos-app-view-menu .ipos-admin-sidebar__link { width:100%; min-width:0; min-height:58px; gap:3px; padding:5px 2px; border:1px solid transparent; border-radius:19px; background:transparent; color:#31473b; font-size:10px; line-height:1.1; }
	body.ipos-app-shell.ipos-app-view-menu .ipos-admin-sidebar__link > span:last-child { display:block; width:100%; overflow:hidden; font-size:10px; text-align:center; text-overflow:ellipsis; white-space:nowrap; }
	body.ipos-app-shell.ipos-app-view-menu .ipos-admin-sidebar__link.is-active { border-color:rgb(255 255 255 / 84%); background:linear-gradient(145deg, rgb(217 247 231 / 78%), rgb(196 234 215 / 52%)); box-shadow:inset 0 1px 0 rgb(255 255 255 / 86%), 0 8px 18px rgb(26 110 67 / 12%); color:#0f6b43; }
	body.ipos-app-shell.ipos-app-view-menu .ipos-admin-content { padding-bottom:calc(100px + env(safe-area-inset-bottom)); }
}

.ipos-menu-addon-groups { display: grid; gap: 12px; }
[data-ipos-menu-addon-groups] > div { display: grid; gap: 2px; }
[data-ipos-menu-addon-groups] small { color: #5d7a68; font-size: 12px; font-weight: 600; }
.ipos-menu-addon-group { display: grid; gap: 8px; padding: 10px; border: 1px solid rgb(159 187 168 / 45%); border-radius: 12px; background: rgb(255 255 255 / 55%); }
.ipos-menu-addon-group__head { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.ipos-menu-addon-group__head strong { font-size: 13px; font-weight: 780; color: #163626; }
.ipos-menu-addon-group__remove { min-height: 32px; padding: 0 10px; border: 0; border-radius: 8px; background: transparent; color: #8a3d3d; font-size: 12px; font-weight: 700; cursor: pointer; }
.ipos-menu-addon-group__mode { grid-template-columns: 1fr 1fr; }
.ipos-menu-addon-group__mode button { font-size: 11px; min-height: 38px; }
.ipos-menu-addon-groups__add { display: grid; gap: 6px; }
.ipos-menu-addon-groups__add span { font-size: 12px; font-weight: 700; color: #5d7a68; }
.ipos-menu-addon-groups__add select { min-height: 44px; border: 1px solid rgb(159 187 168 / 45%); border-radius: 10px; background: rgb(255 255 255 / 80%); color: #163626; font-size: 13px; font-weight: 650; padding: 0 12px; }

.ipos-menu-combo {
	display: grid;
	gap: 12px;
	padding: 14px;
	border: 1px solid rgb(159 187 168 / 45%);
	border-radius: 12px;
	background: rgb(239 248 242 / 72%);
}

.ipos-menu-combo[hidden] { display: none; }
.ipos-menu-combo__heading { display: grid; gap: 3px; }
.ipos-menu-combo__heading strong { color: #173c28; font-size: 13px; font-weight: 780; }
.ipos-menu-combo__heading small { color: #64796b; font-size: 12px; line-height: 1.45; }
.ipos-menu-combo__groups { display: grid; gap: 10px; }
.ipos-menu-combo__empty { margin: 0; padding: 12px; border: 1px dashed #b8cbbf; border-radius: 9px; color: #6b7e72; font-size: 12px; text-align: center; }
.ipos-menu-combo__empty[hidden] { display: none; }
.ipos-menu-combo__hint { margin: 0; color: #5d7a68; font-size: 13px; }
.ipos-menu-combo__add select {
	width: 100%;
	min-height: 44px;
	border: 1px solid rgb(159 187 168 / 45%);
	border-radius: 10px;
	background: rgb(255 255 255 / 80%);
	color: #163626;
	font-size: 13px;
	font-weight: 650;
	padding: 0 12px;
}
.ipos-menu-combo-group { display: grid; gap: 8px; padding: 10px; border: 1px solid rgb(159 187 168 / 45%); border-radius: 12px; background: rgb(255 255 255 / 55%); }
.ipos-menu-combo-group__head { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.ipos-menu-combo-group__head strong { font-size: 13px; font-weight: 780; color: #163626; }
.ipos-menu-combo-group__remove { min-height: 32px; padding: 0 10px; border: 0; border-radius: 8px; background: transparent; color: #8a3d3d; font-size: 12px; font-weight: 700; cursor: pointer; }
.ipos-menu-combo-group__options { display: grid; gap: 8px; }
.ipos-menu-combo-group__row { display: grid; gap: 8px; }
.ipos-menu-combo-group__controls { display: grid; grid-template-columns: minmax(0, 1fr) 72px; gap: 8px; }
.ipos-menu-combo-group__controls select,
.ipos-menu-combo-group__controls input {
	min-width: 0;
	min-height: 42px;
	border: 1px solid rgb(125 158 137 / 42%);
	border-radius: 9px;
	background: #fff;
	color: #173c28;
	padding: 0 10px;
	font: inherit;
}
.ipos-menu-combo-group__controls input { text-align: center; }

@media (max-width: 700px) {
	.ipos-menu-combo-group__controls { grid-template-columns: minmax(0, 1fr) 64px; }
}
.ipos-menu-addons { display: grid; gap: 8px; }
.ipos-menu-addons__option { display: flex; min-height: 44px; align-items: center; gap: 10px; padding: 0 12px; border: 1px solid rgb(159 187 168 / 45%); border-radius: 10px; background: rgb(255 255 255 / 70%); color: #1d3d2c; font-size: 13px; font-weight: 650; text-align: left; cursor: pointer; }
.ipos-menu-addons__option[aria-checked="true"] { border-color: #0c6b45; background: rgb(214 246 229 / 70%); }
.ipos-menu-addons__check { width: 16px; height: 16px; flex: 0 0 auto; border: 1.5px solid #7aa58a; border-radius: 4px; }
.ipos-menu-addons__option[aria-checked="true"] .ipos-menu-addons__check { border-color: #0c6b45; background: #0c6b45; box-shadow: inset 0 0 0 2px #fff; }
.ipos-menu-addons__empty { margin: 0; color: #5d7a68; font-size: 13px; }

/* IPOS-390: Product Inspector keeps the native select as its semantic value
 * source, while the shared POS listbox owns every visible category/variation
 * choice. Price fields are one compound control: the editable value never
 * redraws a nested border before the VND suffix. */
body.ipos-app-shell.ipos-app-view-menu .ipos-menu-inspector :is(
	.ipos-menu-addon-groups__add,
	.ipos-menu-combo__add,
	.ipos-menu-combo-group__controls
) .ipos-styled-select {
	--ipos-styled-select-surface: var(--ipos-menu-field);
	--ipos-styled-select-ink: var(--ipos-menu-ink);
	--ipos-styled-select-line: var(--ipos-field-line);
}
body.ipos-app-shell.ipos-app-view-menu .ipos-menu-inspector :is(
	.ipos-menu-addon-groups__add,
	.ipos-menu-combo__add,
	.ipos-menu-combo-group__controls
) .ipos-styled-select__trigger {
	min-height: 48px;
	border: 1px solid var(--ipos-field-line) !important;
	border-radius: 12px;
	background: var(--ipos-menu-field) !important;
	color: var(--ipos-menu-ink) !important;
	box-shadow: inset 0 1px 0 var(--ipos-lg-inner-highlight);
}
body.ipos-app-shell.ipos-app-view-menu .ipos-menu-inspector :is(
	.ipos-menu-addon-groups__add,
	.ipos-menu-combo__add,
	.ipos-menu-combo-group__controls
) .ipos-styled-select__trigger:is(:hover, :focus-visible),
body.ipos-app-shell.ipos-app-view-menu .ipos-menu-inspector :is(
	.ipos-menu-addon-groups__add,
	.ipos-menu-combo__add,
	.ipos-menu-combo-group__controls
) .ipos-styled-select.is-open .ipos-styled-select__trigger {
	border-color: var(--ipos-field-line-focus) !important;
}
body.ipos-app-shell.ipos-app-view-menu .ipos-menu-inspector :is(
	.ipos-menu-addon-groups__add,
	.ipos-menu-combo__add,
	.ipos-menu-combo-group__controls
) .ipos-styled-select__menu {
	border-color: var(--ipos-overlay-line);
	background: var(--ipos-selection-surface-solid);
	box-shadow: 0 18px 38px var(--ipos-overlay-backdrop), inset 0 1px 0 var(--ipos-lg-inner-highlight);
	-webkit-backdrop-filter: none;
	backdrop-filter: none;
}
body.ipos-app-shell.ipos-app-view-menu .ipos-menu-inspector :is(
	.ipos-menu-addon-groups__add,
	.ipos-menu-combo__add,
	.ipos-menu-combo-group__controls
) .ipos-styled-select__option {
	min-height: 44px;
	color: var(--ipos-overlay-ink) !important;
}
body.ipos-app-shell.ipos-app-view-menu .ipos-menu-inspector :is(
	.ipos-menu-addon-groups__add,
	.ipos-menu-combo__add,
	.ipos-menu-combo-group__controls
) .ipos-styled-select__option:is(:hover, :focus-visible, [aria-selected="true"]) {
	border-color: var(--ipos-accent-border);
	background: var(--ipos-selection-active-solid);
	color: var(--ipos-accent) !important;
}
body.ipos-app-shell.ipos-app-view-menu .ipos-menu-inspector__price-input > input,
body.ipos-app-shell.ipos-app-view-menu .ipos-menu-inspector__price-input > input:is(:hover, :focus, :focus-visible) {
	min-width: 0;
	border: 0 !important;
	border-radius: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
	color: var(--ipos-menu-ink) !important;
	outline: 0 !important;
}
body.ipos-app-shell.ipos-app-view-menu .ipos-menu-inspector__price-input > input::placeholder {
	color: color-mix(in srgb, var(--ipos-menu-muted) 88%, var(--ipos-menu-ink)) !important;
	opacity: 1 !important;
}
body.ipos-app-shell.ipos-app-view-menu .ipos-menu-inspector__price-input:focus-within {
	border-color: var(--ipos-field-line-focus) !important;
	box-shadow: 0 0 0 3px var(--ipos-focus), inset 0 1px 0 var(--ipos-lg-inner-highlight) !important;
}
body.ipos-app-shell.ipos-app-view-menu .ipos-menu-inspector__price-input > b {
	display: grid;
	min-width: 52px;
	min-height: 50px;
	place-items: center;
	align-self: stretch;
	padding: 0 12px;
	border-inline-start: 1px solid var(--ipos-line);
	background: color-mix(in srgb, var(--ipos-accent) 5%, var(--ipos-menu-field));
	color: var(--ipos-menu-muted) !important;
	letter-spacing: .06em;
	transition: border-color 140ms ease, background 140ms ease, color 140ms ease;
}
body.ipos-app-shell.ipos-app-view-menu .ipos-menu-inspector__price-input:focus-within > b {
	border-inline-start-color: var(--ipos-field-line-focus);
	background: var(--ipos-accent-surface);
	color: var(--ipos-accent) !important;
}

/* IPOS-391: modifier groups are matte property clusters inside the Inspector,
 * never light-only cards. Neutral fields/add actions use Menu tokens, while
 * remove actions retain their destructive meaning through the shared danger. */
body.ipos-app-shell.ipos-app-view-menu:not(.ipos-app-view-customer):not(.ipos-app-view-kitchen) .ipos-menu-inspector .ipos-menu-modifiers {
	gap: 14px;
}
body.ipos-app-shell.ipos-app-view-menu:not(.ipos-app-view-customer):not(.ipos-app-view-kitchen) .ipos-menu-inspector .ipos-menu-modifier-group {
	gap: 12px;
	padding: 14px;
	border: 1px solid var(--ipos-line) !important;
	border-radius: 14px;
	background: color-mix(in srgb, var(--ipos-accent) 3%, var(--ipos-menu-row)) !important;
	box-shadow: inset 0 1px 0 var(--ipos-lg-inner-highlight);
	color: var(--ipos-menu-ink) !important;
}
body.ipos-app-shell.ipos-app-view-menu:not(.ipos-app-view-customer):not(.ipos-app-view-kitchen) .ipos-menu-inspector :is(
	.ipos-menu-modifier-group__label,
	.ipos-menu-modifier-group__bounds label,
	.ipos-menu-modifier-option label
) {
	color: var(--ipos-menu-muted) !important;
	opacity: 1 !important;
}
body.ipos-app-shell.ipos-app-view-menu:not(.ipos-app-view-customer):not(.ipos-app-view-kitchen) .ipos-menu-inspector .ipos-menu-modifier-group input {
	min-height: 48px;
	border-color: var(--ipos-field-line) !important;
	border-radius: 12px;
	background: var(--ipos-menu-field) !important;
	box-shadow: inset 0 1px 0 var(--ipos-lg-inner-highlight) !important;
	color: var(--ipos-menu-ink) !important;
}
body.ipos-app-shell.ipos-app-view-menu:not(.ipos-app-view-customer):not(.ipos-app-view-kitchen) .ipos-menu-inspector .ipos-menu-modifier-group input::placeholder {
	color: color-mix(in srgb, var(--ipos-menu-muted) 88%, var(--ipos-menu-ink)) !important;
	opacity: 1 !important;
}
body.ipos-app-shell.ipos-app-view-menu:not(.ipos-app-view-customer):not(.ipos-app-view-kitchen) .ipos-menu-inspector .ipos-menu-modifier-group input:is(:hover, :focus, :focus-visible) {
	border-color: var(--ipos-field-line-focus) !important;
}
body.ipos-app-shell.ipos-app-view-menu:not(.ipos-app-view-customer):not(.ipos-app-view-kitchen) .ipos-menu-inspector .ipos-menu-modifier-group input:focus-visible {
	box-shadow: 0 0 0 3px var(--ipos-focus), inset 0 1px 0 var(--ipos-lg-inner-highlight) !important;
	outline: 0 !important;
}
body.ipos-app-shell.ipos-app-view-menu:not(.ipos-app-view-customer):not(.ipos-app-view-kitchen) .ipos-menu-inspector .ipos-menu-modifier-group__options {
	gap: 10px;
}
body.ipos-app-shell.ipos-app-view-menu:not(.ipos-app-view-customer):not(.ipos-app-view-kitchen) .ipos-menu-inspector .ipos-menu-modifier-option + .ipos-menu-modifier-option {
	padding-top: 10px;
	border-top: 1px solid var(--ipos-line);
}
body.ipos-app-shell.ipos-app-view-menu:not(.ipos-app-view-customer):not(.ipos-app-view-kitchen) .ipos-menu-inspector :is(
	.ipos-menu-modifier-group__remove,
	.ipos-menu-modifier-option [data-ipos-menu-modifier-remove-option]
) {
	min-width: 44px;
	min-height: 44px;
	border: 1px solid color-mix(in srgb, var(--ipos-danger) 48%, var(--ipos-line)) !important;
	border-radius: 11px;
	background: var(--ipos-danger-soft) !important;
	box-shadow: none !important;
	color: var(--ipos-danger) !important;
}
body.ipos-app-shell.ipos-app-view-menu:not(.ipos-app-view-customer):not(.ipos-app-view-kitchen) .ipos-menu-inspector :is(
	.ipos-menu-modifier-group__remove,
	.ipos-menu-modifier-option [data-ipos-menu-modifier-remove-option]
):is(:hover, :focus-visible) {
	border-color: var(--ipos-danger) !important;
	background: color-mix(in srgb, var(--ipos-danger) 17%, var(--ipos-menu-field)) !important;
	color: var(--ipos-danger) !important;
}
body.ipos-app-shell.ipos-app-view-menu:not(.ipos-app-view-customer):not(.ipos-app-view-kitchen) .ipos-menu-inspector :is(
	.ipos-menu-modifier-group__add-option,
	[data-ipos-menu-modifier-add-group]
) {
	min-height: 44px;
	border-style: dashed !important;
	border-radius: 11px;
	box-shadow: inset 0 1px 0 var(--ipos-lg-inner-highlight) !important;
}
body.ipos-app-shell.ipos-app-view-menu:not(.ipos-app-view-customer):not(.ipos-app-view-kitchen) .ipos-menu-inspector :is(
	.ipos-menu-modifier-group__add-option,
	[data-ipos-menu-modifier-add-group]
):is(:hover, :focus-visible) {
	border-style: solid !important;
}

@media (max-width: 700px) {
	body.ipos-app-shell.ipos-app-view-menu:not(.ipos-app-view-customer):not(.ipos-app-view-kitchen) .ipos-menu-inspector .ipos-menu-modifier-group {
		padding: 12px;
		border-radius: 13px;
	}
}

/* IPOS-392: selling controls must belong to the active Menu palette. This
 * closes the remaining Emerald/light-only islands in add-ons, variations and
 * fixed combos. The listbox surface is deliberately opaque: when the shared
 * picker opens upward inside the scrollable Inspector, content behind it must
 * never show through its options. */
body.ipos-app-shell.ipos-app-view-menu:not(.ipos-app-view-customer):not(.ipos-app-view-kitchen) .ipos-menu-inspector :is(
	.ipos-menu-inspector__group--selling .ipos-menu-inspector__variable:not([hidden]),
	.ipos-menu-addon-group,
	.ipos-menu-combo,
	.ipos-menu-combo-group
) {
	border-color: var(--ipos-line) !important;
	background: color-mix(in srgb, var(--ipos-accent) 4%, var(--ipos-menu-row)) !important;
	box-shadow: inset 0 1px 0 var(--ipos-lg-inner-highlight) !important;
	color: var(--ipos-menu-ink) !important;
}
body.ipos-app-shell.ipos-app-view-menu:not(.ipos-app-view-customer):not(.ipos-app-view-kitchen) .ipos-menu-inspector :is(
	.ipos-menu-combo__heading strong,
	.ipos-menu-addon-group__head strong,
	.ipos-menu-combo-group__head strong,
	.ipos-menu-variation-row > strong
) {
	color: var(--ipos-menu-ink) !important;
}
body.ipos-app-shell.ipos-app-view-menu:not(.ipos-app-view-customer):not(.ipos-app-view-kitchen) .ipos-menu-inspector :is(
	[data-ipos-menu-addon-groups] small,
	.ipos-menu-addon-groups__add > span,
	.ipos-menu-addons__empty,
	.ipos-menu-combo__heading small,
	.ipos-menu-combo__empty,
	.ipos-menu-combo__hint
) {
	color: var(--ipos-menu-muted) !important;
	opacity: 1 !important;
}
body.ipos-app-shell.ipos-app-view-menu:not(.ipos-app-view-customer):not(.ipos-app-view-kitchen) .ipos-menu-inspector .ipos-menu-combo__empty {
	border-color: var(--ipos-line) !important;
	background: color-mix(in srgb, var(--ipos-menu-field) 78%, transparent) !important;
}
body.ipos-app-shell.ipos-app-view-menu:not(.ipos-app-view-customer):not(.ipos-app-view-kitchen) .ipos-menu-inspector .ipos-menu-inspector__pricing-head::before {
	background: var(--ipos-accent) !important;
	box-shadow: 0 0 0 3px color-mix(in srgb, var(--ipos-accent) 16%, transparent) !important;
}
body.ipos-app-shell.ipos-app-view-menu:not(.ipos-app-view-customer):not(.ipos-app-view-kitchen) .ipos-menu-inspector .ipos-menu-inspector__pricing-head > span {
	color: var(--ipos-accent) !important;
}
body.ipos-app-shell.ipos-app-view-menu:not(.ipos-app-view-customer):not(.ipos-app-view-kitchen) .ipos-menu-inspector .ipos-menu-variation-row :is(input, input:hover, input:focus, input:focus-visible),
body.ipos-app-shell.ipos-app-view-menu:not(.ipos-app-view-customer):not(.ipos-app-view-kitchen) .ipos-menu-inspector .ipos-menu-variation-row__price.is-cost input {
	border-color: var(--ipos-field-line) !important;
	background: var(--ipos-menu-field) !important;
	color: var(--ipos-menu-ink) !important;
}
body.ipos-app-shell.ipos-app-view-menu:not(.ipos-app-view-customer):not(.ipos-app-view-kitchen) .ipos-menu-inspector .ipos-menu-variation-row input::placeholder {
	color: color-mix(in srgb, var(--ipos-menu-muted) 90%, var(--ipos-menu-ink)) !important;
	opacity: 1 !important;
}
body.ipos-app-shell.ipos-app-view-menu:not(.ipos-app-view-customer):not(.ipos-app-view-kitchen) .ipos-menu-inspector .ipos-menu-variation-row input:focus-visible {
	border-color: var(--ipos-field-line-focus) !important;
	box-shadow: 0 0 0 3px var(--ipos-focus) !important;
	outline: 0 !important;
}
body.ipos-app-shell.ipos-app-view-menu:not(.ipos-app-view-customer):not(.ipos-app-view-kitchen) .ipos-menu-inspector :is(
	.ipos-menu-variation-row__toggle,
	.ipos-menu-variation-row__default,
	.ipos-menu-inspector__add-size,
	.ipos-menu-addons__option
) {
	border-color: var(--ipos-field-line) !important;
	background: var(--ipos-menu-field) !important;
	color: var(--ipos-menu-ink) !important;
}
body.ipos-app-shell.ipos-app-view-menu:not(.ipos-app-view-customer):not(.ipos-app-view-kitchen) .ipos-menu-inspector :is(
	.ipos-menu-variation-row__toggle,
	.ipos-menu-variation-row__default,
	.ipos-menu-inspector__add-size,
	.ipos-menu-addons__option
):is(:hover, :focus-visible),
body.ipos-app-shell.ipos-app-view-menu:not(.ipos-app-view-customer):not(.ipos-app-view-kitchen) .ipos-menu-inspector :is(
	.ipos-menu-variation-row__toggle[aria-pressed="true"],
	.ipos-menu-variation-row__default[aria-pressed="true"],
	.ipos-menu-addons__option[aria-checked="true"]
) {
	border-color: var(--ipos-accent-border) !important;
	background: var(--ipos-accent-surface) !important;
	color: var(--ipos-accent) !important;
}
body.ipos-app-shell.ipos-app-view-menu:not(.ipos-app-view-customer):not(.ipos-app-view-kitchen) .ipos-menu-inspector .ipos-menu-addons__check {
	border-color: var(--ipos-field-line) !important;
	background: transparent !important;
}
body.ipos-app-shell.ipos-app-view-menu:not(.ipos-app-view-customer):not(.ipos-app-view-kitchen) .ipos-menu-inspector .ipos-menu-addons__option[aria-checked="true"] .ipos-menu-addons__check {
	border-color: var(--ipos-accent) !important;
	background: var(--ipos-accent) !important;
	box-shadow: inset 0 0 0 2px var(--ipos-menu-field) !important;
}
body.ipos-app-shell.ipos-app-view-menu:not(.ipos-app-view-customer):not(.ipos-app-view-kitchen) .ipos-menu-inspector :is(
	.ipos-menu-addon-group__remove,
	.ipos-menu-combo-group__remove
) {
	min-height: 44px;
	border: 1px solid color-mix(in srgb, var(--ipos-danger) 48%, var(--ipos-line)) !important;
	background: var(--ipos-danger-soft) !important;
	color: var(--ipos-danger) !important;
}
body.ipos-app-shell.ipos-app-view-menu:not(.ipos-app-view-customer):not(.ipos-app-view-kitchen) .ipos-menu-inspector .ipos-styled-select.is-open {
	z-index: 65;
}
body.ipos-app-shell.ipos-app-view-menu:not(.ipos-app-view-customer):not(.ipos-app-view-kitchen) .ipos-menu-inspector :is(
	.ipos-menu-addon-groups__add,
	.ipos-menu-combo__add,
	.ipos-menu-combo-group__controls
) .ipos-styled-select__menu {
	border: 1px solid var(--ipos-overlay-line) !important;
	border-radius: 12px;
	background: var(--ipos-menu-popover-solid) !important;
	box-shadow: 0 20px 44px var(--ipos-overlay-backdrop), inset 0 1px 0 var(--ipos-lg-inner-highlight) !important;
	color: var(--ipos-menu-ink) !important;
	-webkit-backdrop-filter: none !important;
	backdrop-filter: none !important;
}
body.ipos-app-shell.ipos-app-view-menu:not(.ipos-app-view-customer):not(.ipos-app-view-kitchen) .ipos-menu-inspector :is(
	.ipos-menu-addon-groups__add,
	.ipos-menu-combo__add,
	.ipos-menu-combo-group__controls
) .ipos-styled-select__option {
	color: var(--ipos-menu-ink) !important;
}

/* IPOS-393: the close control sits inside the header action wrapper, so the
 * older direct-child grid rule does not apply. Remove the browser's inline
 * button padding and make both the button and SVG explicit centered boxes. */
body.ipos-app-shell.ipos-app-view-menu:not(.ipos-app-view-customer):not(.ipos-app-view-kitchen) .ipos-menu-inspector__header-actions > .ipos-menu-inspector__close {
	display: grid !important;
	width: 44px;
	height: 44px;
	min-width: 44px;
	min-height: 44px;
	place-items: center;
	padding: 0 !important;
	line-height: 1 !important;
}
body.ipos-app-shell.ipos-app-view-menu:not(.ipos-app-view-customer):not(.ipos-app-view-kitchen) .ipos-menu-inspector__header-actions > .ipos-menu-inspector__close > svg {
	display: block !important;
	width: 20px;
	height: 20px;
	margin: 0;
	place-self: center;
}

/* IPOS-421: keep adjacent mobile filters visually separate while retaining the
 * compact two-column scan pattern at ordinary phone widths. */
@media (max-width: 700px) {
	body.ipos-app-shell.ipos-app-view-menu .ipos-menu-management__toolbar {
		gap: 12px;
		padding: 10px;
	}
}
