.ipos-staff-dashboard__soldout-link {
	position: fixed;
	right: 18px;
	bottom: 18px;
	z-index: 30;
	display: inline-flex;
	align-items: center;
	min-height: 42px;
	padding: 0 15px;
	border-radius: 999px;
	background: #9f2d23;
	color: #fff;
	font-size: 13px;
	font-weight: 800;
	text-decoration: none;
	box-shadow: 0 10px 28px rgb(74 24 20 / 24%);
}
.ipos-staff-dashboard__soldout-link:hover,
.ipos-staff-dashboard__soldout-link:focus-visible { background: #7f2119; color: #fff; }
.ipos-staff-dashboard {
	/* Kitchen is a route inside AppShell: inherit the active six-theme palette
	 * instead of maintaining a second light/dark theme state. */
	--kitchen-canvas: var(--ipos-canvas);
	--kitchen-surface: var(--ipos-surface);
	--kitchen-surface-muted: var(--ipos-surface-muted);
	--kitchen-ink: var(--ipos-ink);
	--kitchen-muted: var(--ipos-muted);
	--kitchen-line: var(--ipos-line);
	--kitchen-line-strong: var(--ipos-line-strong);
	--kitchen-control: var(--ipos-field-surface, var(--ipos-surface));
	--kitchen-new: var(--ipos-danger);
	--kitchen-accepted: var(--ipos-warning);
	--kitchen-preparing: var(--ipos-info);
	--kitchen-ready: var(--ipos-success);
	display: grid;
	box-sizing: border-box;
	min-width: 0;
	grid-template-rows: auto auto auto minmax(0, 1fr) auto;
	gap: 12px;
	height: calc(100dvh - 140px);
	min-height: 560px;
	padding: 18px;
	background: transparent;
	color: var(--kitchen-ink);
	font-family: var(--ipos-font);
	transition: background 140ms ease, color 140ms ease;
}

.ipos-staff-dashboard *,
.ipos-staff-dashboard *::before,
.ipos-staff-dashboard *::after { box-sizing: border-box; }
.ipos-staff-dashboard button,
.ipos-staff-dashboard input,
.ipos-staff-dashboard select { font: 700 14px/1 var(--ipos-font); }
.ipos-staff-dashboard button { cursor: pointer; }
.ipos-staff-dashboard button:disabled { cursor: wait; opacity: .62; }
.ipos-icon { display: block; width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 2; }
.ipos-staff-dashboard .screen-reader-text { position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0; border: 0; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }

.ipos-staff-dashboard__header {
	display: flex;
	min-width: 0;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	padding-bottom: 0;
	border-bottom: 0;
}
.ipos-staff-dashboard__heading { min-width: 0; }
.ipos-staff-dashboard__heading p { display: none; margin: 0; color: var(--ipos-action); font-size: 11px; font-weight: 800; text-transform: uppercase; }
.ipos-staff-dashboard__heading h1 { margin: 0; color: var(--kitchen-ink); font-size: 20px; font-weight: 800; line-height: 1.1; }
.ipos-staff-dashboard__summary { display: flex; min-height: 44px; align-items: center; gap: 8px; padding: 0 11px; border: 1px solid var(--kitchen-line); border-radius: 6px; background: var(--kitchen-surface); color: var(--kitchen-muted); font-size: 12px; white-space: nowrap; }
.ipos-staff-dashboard__summary b { color: var(--kitchen-ink); font-variant-numeric: tabular-nums; }
.ipos-staff-dashboard__sync-dot { width: 8px; height: 8px; border-radius: 50%; background: var(--ipos-success); }
.ipos-staff-dashboard.is-stale .ipos-staff-dashboard__sync-dot { background: var(--ipos-warning); }
.ipos-staff-dashboard.is-offline .ipos-staff-dashboard__sync-dot { background: var(--ipos-danger); }

.ipos-staff-dashboard__toolbar {
	display: flex;
	min-width: 0;
	flex-wrap: wrap;
	align-items: center;
	gap: 10px;
}
.ipos-staff-dashboard__search { position: relative; display: block; flex: 0 1 240px; width: min(240px, 100%); max-width: 240px; min-width: 0; }
.ipos-staff-dashboard__search .ipos-icon { position: absolute; z-index: 1; top: 12px; left: 13px; width: 19px; height: 19px; color: var(--kitchen-muted); pointer-events: none; }
.ipos-staff-dashboard__search input {
	width: 100%;
	height: 44px;
	padding: 0 14px 0 42px;
	border: 1px solid var(--kitchen-line-strong);
	border-radius: 6px;
	background: var(--kitchen-control);
	color: var(--kitchen-ink);
	font-weight: 560;
	outline: 0;
}
.ipos-staff-dashboard__search input::placeholder { color: var(--kitchen-muted); opacity: 1; }
.ipos-staff-dashboard__search input:focus { border-color: var(--ipos-action); box-shadow: 0 0 0 3px var(--ipos-focus); }
.ipos-staff-dashboard__channel-filter { display: grid; flex: 1 1 320px; min-width: 0; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 3px; min-height: 44px; padding: 3px; border: 1px solid var(--kitchen-line-strong); border-radius: 6px; background: var(--kitchen-control); }
.ipos-staff-dashboard__channel-filter button { display: flex; min-width: 0; min-height: 36px; align-items: center; justify-content: center; gap: 5px; padding: 0 9px; border: 0; border-radius: 4px; background: transparent; color: var(--kitchen-muted); font-size: 11px; font-weight: 760; white-space: nowrap; }
.ipos-staff-dashboard__channel-filter button:hover { color: var(--kitchen-ink); background: var(--kitchen-surface-muted); }
.ipos-staff-dashboard__channel-filter button[aria-pressed=true] { background: var(--kitchen-surface); color: var(--kitchen-ink); box-shadow: 0 1px 2px var(--ipos-lg-shadow, rgb(23 32 25 / 8%)); }
.ipos-staff-dashboard__channel-filter button b { color: inherit; font-size: 10px; font-variant-numeric: tabular-nums; opacity: .72; }
.ipos-staff-dashboard__toolbar > .ipos-styled-select {
	--ipos-styled-select-surface: var(--kitchen-control);
	--ipos-styled-select-ink: var(--kitchen-ink);
	--ipos-styled-select-line: var(--kitchen-line-strong);
	width: 154px;
}
.ipos-staff-dashboard__toolbar .ipos-styled-select__trigger { min-height: 44px; }
.ipos-staff-dashboard__toolbar > .ipos-staff-dashboard__summary { flex: 0 0 auto; }
.ipos-staff-dashboard__toolbar-actions { display: flex; flex: 0 0 auto; gap: 8px; margin-left: auto; }
.ipos-staff-dashboard__toolbar-actions > button,
.ipos-staff-dashboard__theme button {
	display: grid;
	width: 44px;
	height: 44px;
	min-height: 44px;
	place-items: center;
	padding: 0;
	border: 1px solid var(--kitchen-line-strong);
	border-radius: 6px;
	background: var(--kitchen-control);
	color: var(--kitchen-ink);
}
.ipos-staff-dashboard__toolbar-actions button:hover { border-color: var(--ipos-action); color: var(--ipos-action); }
.ipos-staff-dashboard__sort[aria-pressed=true] { border-color: var(--ipos-action); background: var(--ipos-accent-surface, var(--kitchen-surface-muted)); color: var(--ipos-action); }
.ipos-staff-dashboard__sort[aria-pressed=false] .ipos-icon { transform: rotate(180deg); }
.ipos-staff-dashboard__sort:focus-visible { outline: 2px solid var(--ipos-action); outline-offset: 2px; }
.ipos-staff-dashboard__theme { display: none !important; }
.ipos-staff-dashboard__theme button { border-radius: 0; }
.ipos-staff-dashboard__theme button:first-child { border-radius: 6px 0 0 6px; }
.ipos-staff-dashboard__theme button:last-child { margin-left: -1px; border-radius: 0 6px 6px 0; }
.ipos-staff-dashboard__theme button[aria-pressed=true],
.ipos-staff-dashboard__sound[aria-pressed=true] { border-color: var(--ipos-action); background: var(--ipos-accent-surface, var(--kitchen-surface-muted)); color: var(--ipos-action); }
.ipos-staff-dashboard__sound .ipos-icon--sound-on { display: none; }
.ipos-staff-dashboard__sound[aria-pressed=true] .ipos-icon--sound-off { display: none; }
.ipos-staff-dashboard__sound[aria-pressed=true] .ipos-icon--sound-on { display: block; }
.ipos-staff-dashboard.is-refreshing [data-ipos-refresh] .ipos-icon { animation: ipos-kitchen-spin 800ms linear infinite; }

.ipos-staff-dashboard__mobile-tabs { display: none; }
.ipos-staff-dashboard__notice {
	min-height: 34px;
	padding: 8px 11px;
	border: 1px solid var(--kitchen-line);
	border-radius: 6px;
	background: var(--kitchen-surface);
	color: var(--kitchen-muted);
	font-size: 12px;
	font-weight: 650;
	line-height: 1.35;
}
.ipos-staff-dashboard__notice[hidden] { display: none; }
.ipos-staff-dashboard__notice[data-notice-type=warning],
.ipos-staff-dashboard__notice[data-notice-type=offline] { border-color: color-mix(in srgb, var(--ipos-warning) 42%, var(--kitchen-line)); background: var(--ipos-warning-soft); color: var(--ipos-warning); }
.ipos-staff-dashboard__notice[data-notice-type=error] { border-color: color-mix(in srgb, var(--ipos-danger) 42%, var(--kitchen-line)); background: var(--ipos-danger-soft); color: var(--ipos-danger); }
.ipos-staff-dashboard__notice[data-notice-type=success] { border-color: color-mix(in srgb, var(--ipos-success) 42%, var(--kitchen-line)); background: var(--ipos-success-soft); color: var(--ipos-success); }
.ipos-staff-dashboard__notice { color: var(--kitchen-muted); }

.ipos-staff-dashboard__board {
	display: grid;
	min-width: 0;
	min-height: 0;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 10px;
	overflow: hidden;
}
.ipos-kitchen-lane {
	display: grid;
	min-width: 0;
	min-height: 0;
	grid-template-rows: 48px minmax(0, 1fr);
	overflow: hidden;
	border: 1px solid var(--kitchen-line);
	border-radius: 7px;
	background: var(--kitchen-surface-muted);
}
.ipos-kitchen-lane > header {
	display: flex;
	min-width: 0;
	align-items: center;
	gap: 9px;
	padding: 0 12px;
	border-bottom: 1px solid var(--kitchen-line);
	background: var(--kitchen-surface);
}
.ipos-kitchen-lane > header h2 { min-width: 0; margin: 0; color: var(--kitchen-ink); font-size: 15px; font-weight: 800; line-height: 1; white-space: nowrap; }
.ipos-kitchen-lane > header b { display: grid; min-width: 24px; height: 24px; place-items: center; margin-left: auto; border-radius: 50%; background: var(--kitchen-surface-muted); color: var(--kitchen-muted); font-size: 12px; font-variant-numeric: tabular-nums; }
.ipos-kitchen-lane__dot { width: 9px; height: 9px; flex: 0 0 auto; border-radius: 50%; background: currentColor; }
.ipos-kitchen-lane--new .ipos-kitchen-lane__dot { color: var(--kitchen-new); }
.ipos-kitchen-lane--accepted .ipos-kitchen-lane__dot { color: var(--kitchen-accepted); }
.ipos-kitchen-lane--preparing .ipos-kitchen-lane__dot { color: var(--kitchen-preparing); }
.ipos-kitchen-lane--ready .ipos-kitchen-lane__dot { color: var(--kitchen-ready); }
.ipos-kitchen-lane__body {
	display: flex;
	min-height: 0;
	flex-direction: column;
	gap: 9px;
	padding: 9px;
	overflow-x: hidden;
	overflow-y: auto;
	contain: layout paint;
	overscroll-behavior: contain;
	scrollbar-color: var(--kitchen-line-strong) transparent;
	scrollbar-width: thin;
}
.ipos-kitchen-lane__empty { margin: auto 0; padding: 24px 8px; color: var(--kitchen-muted); font-size: 12px; line-height: 1.45; text-align: center; }
.ipos-kitchen-lane__empty[hidden] { display: none; }
.ipos-kitchen-channel { display: grid; min-width: 0; gap: 7px; padding: 7px; border: 1px solid var(--kitchen-line-strong); border-radius: 7px; background: color-mix(in srgb, var(--kitchen-surface) 76%, var(--kitchen-surface-muted)); }
.ipos-kitchen-channel[hidden] { display: none; }
.ipos-kitchen-channel > header { position: sticky; z-index: 3; top: -9px; display: grid; min-width: 0; grid-template-columns: auto minmax(0, 1fr) auto auto auto; align-items: center; gap: 7px; min-height: 34px; padding: 0 3px; border-bottom: 1px solid var(--kitchen-line); background: var(--kitchen-surface); }
.ipos-kitchen-channel > header strong { min-width: 0; overflow: hidden; color: var(--kitchen-ink); font-size: 12px; font-weight: 850; text-overflow: ellipsis; white-space: nowrap; }
.ipos-kitchen-channel > header b { display: grid; min-width: 22px; height: 22px; place-items: center; border-radius: 999px; background: var(--kitchen-surface-muted); color: var(--kitchen-muted); font-size: 10px; font-variant-numeric: tabular-nums; }
.ipos-kitchen-channel__select-all { display: inline-flex; min-width: max-content; align-items: center; gap: 4px; cursor: pointer; color: var(--kitchen-muted); font-size: 9px; font-weight: 800; white-space: nowrap; }
.ipos-kitchen-channel__select-all input { width: 15px; height: 15px; margin: 0; accent-color: var(--ipos-action); }
.ipos-kitchen-channel__select-all:has(input:disabled) { cursor: default; opacity: .55; }
.ipos-kitchen-channel > header button { min-height: 28px; padding: 0 8px; border: 1px solid var(--ipos-action); border-radius: 5px; background: var(--ipos-action); color: var(--ipos-button-primary-text, #fff); font-size: 10px; font-weight: 800; white-space: nowrap; }
.ipos-kitchen-channel > header button:hover { background: var(--ipos-action-hover); }
.ipos-kitchen-channel > header button[hidden] { display: none; }
.ipos-kitchen-channel__dot { width: 8px; height: 8px; flex: 0 0 auto; border-radius: 50%; background: var(--ipos-info); }
.ipos-kitchen-channel--takeaway .ipos-kitchen-channel__dot { background: var(--ipos-warning); }
.ipos-kitchen-channel__body { display: grid; min-width: 0; gap: 7px; }
.ipos-kitchen-channel__empty { margin: 0; padding: 18px 7px; color: var(--kitchen-muted); font-size: 11px; line-height: 1.4; text-align: center; }
.ipos-kitchen-channel__empty[hidden] { display: none; }

.ipos-kitchen-group { display: grid; gap: 7px; padding: 7px; border: 1px solid var(--kitchen-line-strong); border-radius: 7px; background: color-mix(in srgb, var(--kitchen-surface) 76%, var(--kitchen-surface-muted)); }
.ipos-kitchen-group > header { position: sticky; z-index: 2; top: -9px; display: grid; min-width: 0; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 8px; padding: 6px 3px; border-bottom: 1px solid var(--kitchen-line); background: var(--kitchen-surface); }
.ipos-kitchen-group > header label { display: flex; min-height: 34px; align-items: center; gap: 9px; cursor: pointer; }
.ipos-kitchen-group input[type=checkbox] { width: 19px; height: 19px; flex: 0 0 auto; margin: 0; accent-color: var(--ipos-action); cursor: pointer; }
.ipos-kitchen-group > header span { display: flex; min-width: 0; flex: 1; align-items: baseline; justify-content: space-between; gap: 8px; }
.ipos-kitchen-group > header strong { overflow: hidden; color: var(--kitchen-ink); font-size: 13px; text-overflow: ellipsis; white-space: nowrap; }
.ipos-kitchen-group[data-group-status="ready"] > header strong { color: var(--kitchen-ready); font-size: 19px; font-weight: 850; line-height: 1; }
.ipos-kitchen-group > header small { flex: 0 0 auto; color: var(--kitchen-muted); font-size: 11px; font-weight: 700; }
.ipos-kitchen-group > [data-group-tickets] { display: grid; gap: 7px; }
.ipos-kitchen-group:not(.is-single) .ipos-ticket [data-ticket-table],
.ipos-kitchen-group:not(.is-single) .ipos-ticket__separator { display: none; }
.ipos-kitchen-group > header > button { min-height: 44px; padding: 0 12px; border: 1px solid var(--ipos-action); border-radius: 5px; background: var(--ipos-action); color: var(--ipos-button-primary-text, #fff); font-size: 12px; font-weight: 800; white-space: nowrap; }
.ipos-kitchen-group > header > button:hover { background: var(--ipos-action-hover); }
.ipos-kitchen-group > header > button[hidden] { display: none; }
.ipos-kitchen-group.is-single { padding: 0; border: 0; background: transparent; }
.ipos-kitchen-group.is-single > header { display: none; }

.ipos-ticket {
	display: flex;
	min-width: 0;
	flex: 0 0 auto;
	flex-direction: column;
	gap: 11px;
	padding: 12px;
	border: 1px solid var(--kitchen-line);
	border-left: 3px solid var(--kitchen-preparing);
	border-radius: 6px;
	background: var(--kitchen-surface);
	color: var(--kitchen-ink);
	box-shadow: 0 1px 1px var(--ipos-lg-shadow, rgb(23 32 25 / 4%));
}
.ipos-ticket--new { border-left-color: var(--kitchen-new); }
.ipos-ticket--accepted { border-left-color: var(--kitchen-accepted); }
.ipos-ticket--preparing { border-left-color: var(--kitchen-preparing); }
.ipos-ticket--ready { border-left-color: var(--kitchen-ready); }
.ipos-ticket__top { display: grid; min-width: 0; grid-template-columns: auto minmax(0, 1fr) auto; align-items: start; column-gap: 6px; row-gap: 4px; }
.ipos-ticket__select { display: grid; flex: 0 0 auto; place-items: center; cursor: pointer; }
.ipos-ticket__select input { width: 18px !important; height: 18px !important; }
.ipos-ticket__identity { display: flex; min-width: 0; align-items: baseline; gap: 6px; overflow: hidden; white-space: nowrap; }
.ipos-ticket__top strong { color: var(--kitchen-ink); font-size: 19px; font-weight: 850; line-height: 1; }
.ipos-ticket--new .ipos-ticket__top strong { color: var(--kitchen-new); }
.ipos-ticket--accepted .ipos-ticket__top strong { color: var(--kitchen-accepted); }
.ipos-ticket--preparing .ipos-ticket__top strong { color: var(--kitchen-preparing); }
.ipos-ticket--ready .ipos-ticket__top strong { color: var(--kitchen-ready); }
.ipos-ticket__top span { color: var(--kitchen-muted); font-size: 11px; font-weight: 720; white-space: nowrap; }
.ipos-ticket__top .ipos-ticket__fresh { display: inline-flex; min-height: 22px; align-items: center; padding: 0 7px; border: 1px solid color-mix(in srgb, var(--ipos-success) 42%, var(--kitchen-line)); border-radius: 999px; background: var(--ipos-success-soft); color: var(--ipos-success); font-size: 10px; font-weight: 850; letter-spacing: .03em; text-transform: uppercase; }
.ipos-ticket__fresh[hidden] { display: none; }
.ipos-ticket__top .ipos-ticket__takeaway { grid-column: 2 / -1; min-width: 0; overflow: hidden; color: var(--ipos-warning); font-size: 11px; font-weight: 800; text-overflow: ellipsis; }
.ipos-ticket__takeaway[hidden] { display: none; }
.ipos-kitchen-group.is-single .ipos-ticket__takeaway { grid-column: 1 / -1; }
.ipos-ticket.is-fresh { border-color: color-mix(in srgb, var(--ipos-success) 42%, var(--kitchen-line)); border-left-color: var(--ipos-action); box-shadow: 0 0 0 1px color-mix(in srgb, var(--ipos-success) 18%, transparent); }
.ipos-ticket__top time { flex: 0 0 auto; color: var(--kitchen-ink); font: 800 14px/1 var(--ipos-mono); font-variant-numeric: tabular-nums; }
.ipos-ticket.is-overdue .ipos-ticket__top time { color: var(--ipos-danger); }
.ipos-ticket.is-old-record { border-left-color: var(--ipos-warning); background: var(--ipos-warning-soft); }
.ipos-ticket.is-old-record .ipos-ticket__top time { color: var(--ipos-warning); }
.ipos-ticket__overdue { display: flex; width: fit-content; max-width: 100%; align-items: center; gap: 5px; margin-left: auto; padding: 5px 7px; border: 1px solid color-mix(in srgb, var(--ipos-danger) 42%, var(--kitchen-line)); border-radius: 5px; background: var(--ipos-danger-soft); color: var(--ipos-danger); font-size: 10px; font-weight: 800; }
.ipos-ticket.is-old-record .ipos-ticket__overdue { border-color: color-mix(in srgb, var(--ipos-warning) 42%, var(--kitchen-line)); background: var(--ipos-warning-soft); color: var(--ipos-warning); }
.ipos-ticket__overdue[hidden] { display: none; }
.ipos-ticket__overdue .ipos-icon { width: 14px; height: 14px; }
.ipos-ticket__items { display: grid; gap: 8px; margin: 0; padding: 0; list-style: none; }
.ipos-ticket__items li { display: grid; min-width: 0; grid-template-columns: 34px minmax(0, 1fr) auto; gap: 4px; align-items: start; color: var(--kitchen-ink); font-size: 13px; line-height: 1.35; }
.ipos-ticket__items strong { font-weight: 800; font-variant-numeric: tabular-nums; }
.ipos-ticket__items span { min-width: 0; overflow-wrap: anywhere; }
.ipos-ticket__items li > span { display: grid; gap: 2px; }
.ipos-ticket__items li > span small { color: var(--kitchen-muted); font-size: 11px; line-height: 1.3; }
.ipos-ticket__items li > span small:last-child:not(:first-child) { color: var(--ipos-warning); }
.ipos-ticket__items li > .ipos-ticket__item-actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 4px; }
.ipos-ticket__items li:has([data-ipos-inline-cancel-request]) { grid-template-columns: 34px minmax(0, 1fr); }
.ipos-ticket__items li:has([data-ipos-inline-cancel-request]) > .ipos-ticket__item-actions { grid-column: 2; justify-content: flex-start; }
.ipos-ticket__soldout {
	min-height: 28px;
	padding: 0 7px;
	border: 1px solid color-mix(in srgb, var(--ipos-danger) 44%, var(--kitchen-line));
	border-radius: 6px;
	background: var(--ipos-danger-soft);
	color: var(--ipos-danger);
	font-size: 10px;
	font-weight: 800;
	cursor: pointer;
}
.ipos-ticket__soldout:disabled { opacity: .58; cursor: default; }
.ipos-ticket__soldout:focus-visible { outline: 2px solid var(--ipos-danger); outline-offset: 2px; }
.ipos-ticket__cancel-detail { grid-column: 2 / -1; color: var(--ipos-danger); font-size: 11px; font-weight: 700; }
.ipos-ticket__item-actions [data-decision] { min-height: 28px; padding: 0 7px; border: 1px solid var(--ipos-action); border-radius: 6px; background: var(--ipos-action); color: var(--ipos-button-primary-text, #fff); font-size: 10px; font-weight: 800; cursor: pointer; }
.ipos-ticket__item-actions .ipos-ticket__inline-cancel { display: flex; flex-wrap: wrap; justify-content: flex-end; align-items: center; gap: 4px; color: var(--ipos-warning); font-size: 10px; font-weight: 750; }
.ipos-ticket__item-actions [data-decision="reject"] { border-color: var(--ipos-danger); background: transparent; color: var(--ipos-danger); }
.ipos-ticket__item-actions [data-decision]:disabled { opacity: .58; cursor: wait; }
.ipos-ticket__item-actions [data-decision]:focus-visible { outline: 2px solid var(--ipos-action); outline-offset: 2px; }
.ipos-ticket__note { display: flex; min-width: 0; align-items: start; gap: 8px; margin: 0; padding: 8px; border: 1px solid color-mix(in srgb, var(--ipos-warning) 36%, var(--kitchen-line)); border-radius: 5px; background: var(--ipos-warning-soft); color: var(--ipos-warning); font-size: 11px; line-height: 1.35; }
.ipos-ticket__note[hidden] { display: none; }
.ipos-ticket__note .ipos-icon { width: 16px; height: 16px; flex: 0 0 auto; }
.ipos-ticket__note > span { min-width: 0; }
.ipos-ticket__note b { display: block; margin-bottom: 2px; font-size: 10px; text-transform: uppercase; }
.ipos-ticket__note [data-ticket-note-text] { display: block; overflow-wrap: anywhere; }
.ipos-ticket footer { margin-top: auto; display: grid; gap: 8px; }
.ipos-ticket footer button {
	width: 100%;
	min-height: 44px;
	padding: 0 8px;
	border: 1px solid currentColor;
	border-radius: 5px;
	background: transparent;
	color: var(--kitchen-preparing);
	font-size: 13px;
	font-weight: 800;
}
.ipos-ticket footer button[data-round-cancel] { color: var(--ipos-danger); border-color: color-mix(in srgb, var(--ipos-danger) 72%, var(--kitchen-line)); }
.ipos-ticket--new footer button { color: var(--kitchen-new); }
.ipos-ticket--accepted footer button { color: var(--kitchen-accepted); }
.ipos-ticket--preparing footer button { color: var(--kitchen-preparing); }
.ipos-ticket--ready footer button { color: var(--kitchen-ready); }
.ipos-ticket--new footer button[data-round-cancel],
.ipos-ticket--accepted footer button[data-round-cancel],
.ipos-ticket--preparing footer button[data-round-cancel] { color: var(--ipos-danger); border-color: color-mix(in srgb, var(--ipos-danger) 72%, var(--kitchen-line)); }
.ipos-ticket footer button:hover { background: color-mix(in srgb, currentColor 8%, transparent); }

.ipos-kitchen-shell { min-width: 0; }
.ipos-kitchen-cancel-dialog {
	--cancel-surface: var(--ipos-overlay-surface, var(--ipos-surface));
	--cancel-ink: var(--ipos-overlay-ink, var(--ipos-ink));
	--cancel-muted: var(--ipos-muted);
	--cancel-line: var(--ipos-overlay-line, var(--ipos-line));
	--cancel-danger: var(--ipos-danger);
	position: fixed;
	z-index: 90;
	inset: 0;
	display: grid;
	place-items: center;
	padding: 20px;
	isolation: isolate;
}
.ipos-kitchen-cancel-dialog[hidden] { display: none; }
button.ipos-kitchen-cancel-dialog__backdrop {
	position: absolute;
	z-index: 0;
	inset: 0;
	width: 100%;
	height: 100%;
	min-height: 0;
	padding: 0;
	border: 0 !important;
	border-radius: 0 !important;
	background: var(--ipos-overlay-backdrop, rgb(16 23 19 / 52%)) !important;
	box-shadow: none !important;
	color: transparent !important;
	cursor: default;
	-webkit-backdrop-filter: blur(5px) brightness(.82) saturate(.9);
	backdrop-filter: blur(5px) brightness(.82) saturate(.9);
}
.ipos-kitchen-cancel-dialog__panel {
	position: relative;
	z-index: 1;
	display: grid;
	width: min(100%, 460px);
	gap: 16px;
	padding: 22px;
	border: 1px solid var(--cancel-line);
	border-radius: 14px;
	background: var(--cancel-surface);
	box-shadow: 0 22px 60px var(--ipos-lg-shadow, rgb(16 23 19 / 28%));
	color: var(--cancel-ink);
}
.ipos-kitchen-cancel-dialog__head { display: flex; align-items: start; justify-content: space-between; gap: 12px; }
.ipos-kitchen-cancel-dialog__eyebrow { margin: 0; color: var(--cancel-muted); font-size: 11px; font-weight: 720; letter-spacing: .04em; text-transform: uppercase; }
.ipos-kitchen-cancel-dialog__head h2 { margin: 4px 0 0; font-size: 22px; line-height: 1.15; }
.ipos-kitchen-cancel-dialog__close {
	display: grid;
	width: 36px;
	height: 36px;
	flex: 0 0 auto;
	place-items: center;
	padding: 0;
	border: 1px solid var(--cancel-line);
	border-radius: 10px;
	background: transparent;
	color: var(--cancel-muted);
	cursor: pointer;
}
.ipos-kitchen-cancel-dialog__close:hover { color: var(--cancel-ink); }
.ipos-kitchen-cancel-dialog__close svg { width: 17px; height: 17px; fill: none; stroke: currentColor; stroke-width: 1.7; }
.ipos-kitchen-cancel-dialog__copy { margin: 0; color: var(--cancel-muted); font-size: 13px; line-height: 1.5; }
.ipos-kitchen-cancel-dialog__field { display: grid; gap: 7px; color: var(--cancel-ink); font-size: 12px; font-weight: 720; }
.ipos-kitchen-cancel-dialog__field[hidden] { display: none; }
.ipos-kitchen-cancel-dialog__field select:not([data-ipos-styled-select]),
.ipos-kitchen-cancel-dialog__field textarea {
	width: 100%;
	min-height: 44px;
	padding: 10px 11px;
	border: 1px solid var(--cancel-line);
	border-radius: 10px;
	background: var(--cancel-surface);
	color: inherit;
	font: inherit;
	font-weight: 500;
}
.ipos-kitchen-cancel-dialog__field textarea { min-height: 84px; resize: vertical; line-height: 1.45; }
.ipos-kitchen-cancel-dialog__field select:not([data-ipos-styled-select]):focus,
.ipos-kitchen-cancel-dialog__field textarea:focus {
	outline: 2px solid var(--ipos-focus);
	outline-offset: 1px;
	border-color: var(--ipos-info);
}
.ipos-kitchen-cancel-dialog__field > .ipos-styled-select { width: 100%; }
.ipos-kitchen-cancel-dialog__field .ipos-styled-select__menu {
	z-index: 92;
	max-height: min(248px, 42dvh);
	border-radius: 12px;
	background: var(--ipos-selection-surface-solid, #f7fbf8);
	-webkit-backdrop-filter: none;
	backdrop-filter: none;
	box-shadow: 0 16px 36px var(--ipos-lg-shadow, rgb(16 23 19 / 24%));
}
.ipos-kitchen-cancel-dialog__field .ipos-styled-select__option { min-height: 40px; border-radius: 10px; font-size: 13px; font-weight: 650; }
.ipos-kitchen-cancel-dialog__error {
	margin: -4px 0 0;
	padding: 9px 10px;
	border-radius: 10px;
	background: var(--ipos-danger-soft);
	color: var(--ipos-danger);
	font-size: 12px;
	line-height: 1.4;
}
.ipos-kitchen-cancel-dialog__error[hidden] { display: none; }
.ipos-kitchen-cancel-dialog__actions { display: grid; grid-template-columns: 1fr 1fr; gap: 9px; margin-top: 2px; }
.ipos-kitchen-cancel-dialog__actions button {
	min-height: 44px;
	border-radius: 11px;
	font-size: 13px;
	font-weight: 760;
	cursor: pointer;
}
.ipos-kitchen-cancel-dialog__secondary {
	border: 1px solid var(--cancel-line);
	background: transparent;
	color: var(--cancel-ink);
}
.ipos-kitchen-cancel-dialog__confirm {
	border: 1px solid var(--cancel-danger);
	background: var(--cancel-danger);
	color: var(--ipos-button-primary-text, #fff);
	box-shadow: 0 8px 16px color-mix(in srgb, var(--cancel-danger) 18%, transparent);
}
.ipos-kitchen-cancel-dialog__confirm:disabled,
.ipos-kitchen-cancel-dialog__secondary:disabled { cursor: wait; opacity: .58; }

@media (prefers-reduced-motion: reduce) {
	.ipos-kitchen-cancel-dialog,
	.ipos-kitchen-cancel-dialog * { transition: none !important; animation: none !important; }
}

.ipos-kitchen-skeleton { display: grid; gap: 10px; padding: 12px; border: 1px solid var(--kitchen-line); border-radius: 6px; background: var(--kitchen-surface); }
.ipos-kitchen-skeleton span { height: 12px; border-radius: 3px; background: var(--kitchen-line); animation: ipos-kitchen-pulse 1.2s ease-in-out infinite; }
.ipos-kitchen-skeleton span:first-child { width: 70%; height: 20px; }
.ipos-kitchen-skeleton span:last-child { width: 88%; height: 44px; margin-top: 12px; }
.ipos-staff-dashboard:not(.is-loading) .ipos-kitchen-skeleton { display: none; }
.ipos-staff-dashboard__status:empty { display: none; }
.ipos-staff-dashboard__status:not(:empty) { min-height: 16px; margin: 0; color: var(--kitchen-muted); font-size: 11px; line-height: 1.35; }

@keyframes ipos-kitchen-pulse { 50% { opacity: .45; } }
@keyframes ipos-kitchen-spin { to { transform: rotate(360deg); } }

@media (min-width: 1181px) {
	.ipos-ticket { padding: 14px; }
	.ipos-kitchen-group { padding: 9px; }
	.ipos-kitchen-group > header label { min-height: 40px; }
	.ipos-kitchen-group input[type=checkbox] { width: 22px; height: 22px; }
	.ipos-ticket__items li { font-size: 14px; }
}

@media (min-width: 701px) and (max-width: 1180px) {
	.ipos-staff-dashboard { height: calc(100dvh - 132px); min-height: 540px; gap: 10px; padding: 14px; }
	.ipos-staff-dashboard__heading h1 { font-size: 18px; }
	.ipos-staff-dashboard__toolbar { gap: 8px; }
	.ipos-staff-dashboard__search { flex-basis: 220px; max-width: 220px; }
	.ipos-staff-dashboard__toolbar-actions { gap: 6px; }
	.ipos-staff-dashboard__toolbar-actions > button,
	.ipos-staff-dashboard__theme button { width: 44px; height: 44px; }
	.ipos-kitchen-lane { grid-template-rows: 44px minmax(0, 1fr); }
	.ipos-kitchen-lane > header { gap: 6px; padding: 0 8px; }
	.ipos-kitchen-lane > header h2 { font-size: 13px; }
	.ipos-kitchen-lane__body { gap: 8px; padding: 7px; }
	.ipos-ticket { gap: 9px; padding: 9px; }
	.ipos-ticket__top { align-items: start; }
	.ipos-ticket__top strong { font-size: 17px; }
	.ipos-kitchen-group[data-group-status="ready"] > header strong { font-size: 17px; }
	.ipos-ticket__top time { font-size: 12px; }
	.ipos-ticket__items { gap: 6px; }
	.ipos-ticket__items li { grid-template-columns: 30px minmax(0, 1fr) auto; font-size: 12px; }
	.ipos-ticket footer button { min-height: 46px; font-size: 12px; }
}

/* A three-lane KDS only reads cleanly once each lane has enough room for the
 * ticket identity, item and one clear action. Below this viewport, use the
 * explicit lane switcher instead of compressing operational content. */
@media (max-width: 980px) {
	.ipos-staff-dashboard {
		display: grid;
		height: auto;
		min-height: 640px;
		grid-template-rows: repeat(6, auto);
		gap: 12px;
		padding: 0;
	}
	.ipos-staff-dashboard__header { align-items: center; }
	.ipos-staff-dashboard__heading p { display: none; }
	.ipos-staff-dashboard__heading h1 { font-size: 18px; }
	.ipos-staff-dashboard__summary { min-height: 40px; padding-inline: 10px; font-size: 11px; }
	.ipos-staff-dashboard__toolbar {
		display: grid;
		grid-template-columns: minmax(0, 1fr) auto;
		gap: 8px;
	}
	.ipos-staff-dashboard__channel-filter,
	.ipos-staff-dashboard__search { grid-column: 1 / -1; width: 100%; max-width: none; }
	.ipos-staff-dashboard__toolbar > .ipos-staff-dashboard__summary {
		grid-column: 1;
		grid-row: 3;
		min-width: 0;
		justify-self: start;
	}
	.ipos-staff-dashboard__toolbar-actions {
		grid-column: 2;
		grid-row: 3;
		justify-self: end;
		margin-left: 0;
	}
	.ipos-staff-dashboard__toolbar-actions > button,
	.ipos-staff-dashboard__theme button { width: 44px; }
	.ipos-staff-dashboard__mobile-tabs {
		display: grid;
		grid-template-columns: repeat(3, minmax(0, 1fr));
		padding: 3px;
		border: 1px solid var(--kitchen-line);
		border-radius: 7px;
		background: var(--kitchen-surface-muted);
	}
	.ipos-staff-dashboard__mobile-tabs button {
		display: flex;
		min-width: 0;
		min-height: 44px;
		align-items: center;
		justify-content: center;
		gap: 5px;
		padding: 0 5px;
		border: 0;
		border-radius: 5px;
		background: transparent;
		color: var(--kitchen-muted);
		font-size: 11px;
	}
	.ipos-staff-dashboard__mobile-tabs button span { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
	.ipos-staff-dashboard__mobile-tabs button b { font-size: 10px; font-variant-numeric: tabular-nums; }
	.ipos-staff-dashboard__mobile-tabs button[aria-pressed=true] { background: var(--kitchen-surface); color: var(--kitchen-ink); box-shadow: 0 1px 2px var(--ipos-lg-shadow, rgb(23 32 25 / 8%)); }
	.ipos-staff-dashboard__board { display: block; min-height: 360px; overflow: visible; }
	.ipos-kitchen-lane { display: none; min-height: 360px; max-height: none; }
	.ipos-staff-dashboard[data-mobile-lane=accepted] .ipos-kitchen-lane--accepted,
	.ipos-staff-dashboard[data-mobile-lane=preparing] .ipos-kitchen-lane--preparing,
	.ipos-staff-dashboard[data-mobile-lane=ready] .ipos-kitchen-lane--ready { display: grid; }
	.ipos-kitchen-lane__body { max-height: none; overflow: visible; }
	.ipos-ticket { padding: 14px; }
	.ipos-ticket__top strong { font-size: 21px; }
	.ipos-kitchen-group[data-group-status="ready"] > header strong { font-size: 21px; }
	.ipos-ticket__items li { font-size: 14px; }
	.ipos-ticket footer button { min-height: 48px; font-size: 14px; }
}

@media (max-width: 430px) {
	.ipos-staff-dashboard__summary span:last-child,
	.ipos-staff-dashboard__summary span:last-child b { font-size: inherit; }
	.ipos-staff-dashboard__summary span:last-child b::after { content: none; }
	.ipos-staff-dashboard__toolbar-actions { gap: 5px; margin-left: auto; }
	.ipos-staff-dashboard__toolbar-actions > button,
	.ipos-staff-dashboard__theme button { width: 44px; }
}

@media (max-width: 360px) {
	.ipos-staff-dashboard__summary { gap: 6px; padding-inline: 8px; font-size: 10px; }
}

/* The shared desktop AppShell has no top admin bar. Match its 12px sidebar
 * inset and let the operational board use the same viewport-height frame. */
@media (min-width: 981px) {
	body.ipos-app-view-kitchen .ipos-admin-content { padding-block: 12px; }
	body.ipos-app-view-kitchen .ipos-admin-content .ipos-staff-dashboard {
		height: calc(100dvh - 24px);
		min-height: 0;
		padding-block: 0;
	}
	body.ipos-app-view-kitchen .ipos-staff-dashboard__header { display: none; }
}

@media (prefers-reduced-motion: reduce) {
	.ipos-staff-dashboard,
	.ipos-staff-dashboard * { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; }
}

.ipos-ticket__items li.is-addon-line { padding-left: 10px; color: var(--kitchen-muted); }
.ipos-ticket__items li.is-addon-line > span > span:first-child::before { margin-right: 4px; color: var(--kitchen-muted); content: '└ '; }
