/* Scoped composition for the dedicated KDS surface; no Owner navigation. */
.surface-kds .v2-kds-settings { background:#fff; border-radius:16px; padding:16px; margin-bottom:16px; }
.surface-kds .v2-kds-settings .v2-kds-summary-heading { flex-wrap:wrap; justify-content:flex-start; }
.surface-kds .v2-kds .operator-empty h2 { color:#222320; }
.surface-kds .v2-kds .operator-empty p { color:#5b605c; }
.surface-kds { background: #f6f5f2; color: #222320; }
.surface-kds .operator-shell { width: 100%; max-width: none; padding: 24px; }
.surface-kds .operator-header { color: #222320; min-height: 64px; margin-bottom: 24px; }
.surface-kds .operator-heading { display: flex; flex-direction: column; gap: 4px; }
.surface-kds .operator-heading .eyebrow { order: 2; margin: 0; }
.surface-kds .operator-heading h1 { order: 1; }
.surface-kds .operator-context #actor-badge, .surface-kds .operator-context .service-state { display: none; }
.surface-kds .operator-context { flex-wrap: nowrap; }
.surface-kds .operator-context .button { min-width: 44px; min-height: 44px; }
.surface-kds #dashboard-refresh-button { display: inline-flex; align-items: center; gap: 8px; background: #fff0e8; color: #a03516; border-color: transparent; }
.surface-kds #dashboard-refresh-button[hidden] { display: none; }
.surface-kds .operator-header .eyebrow { color: #6b706c; }
.surface-kds .operator-header h1 { font-size: 28px; font-weight: 700; letter-spacing: -.03em; }
.surface-kds .v2-kds { color: #222320; font-size: 14px; }
.surface-kds .v2-kds .v2-kds-summary-heading { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-bottom: 16px; }
.surface-kds .v2-kds .v2-kds-summary-heading p { color: #6b706c; }
.surface-kds .v2-kds .kds-overview { display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); gap: 16px; margin-bottom: 16px; }
.surface-kds .v2-kds .kds-metric { display: flex; align-items: center; gap: 12px; padding: 16px; border: 0; box-shadow: none; border-radius: 16px; background: #fff0e8; }
.surface-kds .v2-kds .kds-metric div { display: grid; gap: 4px; }
.surface-kds .v2-kds .kds-metric strong { font-size: 24px; line-height: 1.2; }
.surface-kds .v2-kds .kds-metric small { font-size: 12px; }
.surface-kds .v2-kds .tone-acknowledged { background: #edf4ff; color: #204980; }
.surface-kds .v2-kds .tone-in_progress { background: #fff7df; color: #75520b; }
.surface-kds .v2-kds .tone-ready { background: #eaf7ef; color: #236341; }
.surface-kds .v2-kds .tone-urgent { background: #fff0f1; color: #9c303b; }
.surface-kds .v2-kds .kds-filters > span { color: #222320; }
.surface-kds .v2-kds .v2-kds-filter-row { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 12px; margin: 0 0 16px; }
.surface-kds .v2-kds .kds-filters { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; padding: 0; margin: 0; }
.surface-kds .v2-kds .kds-filters button { display: flex; gap: 8px; align-items: center; border: 1px solid transparent; border-radius: 12px; padding: 10px 14px; color: #222320; background: #efefed; min-height: 52px; }
.surface-kds .v2-kds .kds-filters button[aria-pressed="true"] { border-color: #c54118; color: #a03516; background: #fff0e8; }
.surface-kds .v2-kds .kds-filters strong { font-size: 12px; }
.surface-kds .v2-kds .kds-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 16px; align-items: stretch; }
.surface-kds .v2-kds .kds-card { display: flex; flex-direction: column; padding: 0; border: 1px solid #e8e6e1; border-radius: 16px; background: white; box-shadow: none; overflow: hidden; min-width: 0; }
.surface-kds .v2-kds .kds-card header { display: flex; flex-wrap: wrap; gap: 8px; justify-content: space-between; padding: 16px; background: #fff0e8; border: 0; }
.surface-kds .v2-kds .kds-card.status-acknowledged header { background: #edf4ff; }
.surface-kds .v2-kds .kds-card.status-in_progress header { background: #fff7df; }
.surface-kds .v2-kds .kds-card.status-ready header { background: #eaf7ef; }
.surface-kds .v2-kds .kds-card h2 { font-size: 20px; font-weight: 700; line-height: 1.2; margin: 0; overflow-wrap: anywhere; }
.surface-kds .v2-kds .v2-kds-ticket-heading { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; }
.surface-kds .v2-kds .status-label, .surface-kds .v2-kds .ticket-age { display: inline-flex; gap: 6px; align-items: center; color: inherit; font-size: 14px; }
.surface-kds .v2-kds .ticket-age { align-self: center; }
.surface-kds .v2-kds .status-label { text-transform: none; letter-spacing: 0; padding: 6px 10px; border-radius: 999px; background: #ffffff80; }
.surface-kds .v2-kds .urgency-urgent .ticket-age { color: #a82d37; }
.surface-kds .v2-kds .ticket-age strong { font-size: 14px; }
.surface-kds .v2-kds .v2-kds-demo { display: block; margin-top: 8px; font-weight: 700; color: #75460a; }
.surface-kds .v2-kds .kds-card ul { list-style: none; margin: 0; padding: 20px 16px; display: grid; gap: 16px; min-height: 108px; border: 0; }
.surface-kds .v2-kds .kds-card li { display: flex; gap: 8px; margin: 0; padding: 0; }
.surface-kds .v2-kds .kds-card li div { min-width: 0; display: grid; gap: 8px; overflow-wrap: anywhere; }
.surface-kds .v2-kds .kds-item-name { font-size: 16px; font-weight: 700; }
.surface-kds .v2-kds .kds-card li small, .surface-kds .v2-kds .kds-card li em { font-size: 14px; color: #515751; font-style: normal; }
.surface-kds .v2-kds .kds-card li em { display: flex; align-items: start; gap: 10px; border: 0; padding: 12px 0 0; background: transparent; font-weight: 400; }
.surface-kds .v2-kds .kds-card li > strong { color: #222320; font-size: 16px; }
.surface-kds .v2-kds .v2-kds-order-type { display: flex; align-items: center; gap: 8px; margin: 0 16px 16px; }
.surface-kds .v2-kds .kds-card-actions { margin-top: auto; }
.surface-kds .v2-kds .kds-card-actions, .surface-kds .v2-kds .kds-station-actions { display: flex; flex-wrap: wrap; gap: 8px; padding: 0 16px 16px; }
.surface-kds .v2-kds .kds-card-actions > button, .surface-kds .v2-kds .kds-station-actions > button { flex: 1 1 110px; min-height: 54px; }
.surface-kds .v2-kds .kds-primary-action { background: #24241f; color: #fff; border: 1px solid #24241f; }
.surface-kds .v2-kds [data-v2-kds-confirm] { background: #fff0f1; color: #a12d38; }
.surface-kds .v2-kds .button { display: inline-flex; align-items: center; justify-content: center; gap: 6px; min-height: 44px; min-width: 44px; border-radius: 12px; font: inherit; font-weight: 600; }
.surface-kds .v2-kds button:disabled { opacity: .55; cursor: not-allowed; }
.surface-kds .v2-kds .v2-kds-warning { display: flex; align-items: center; gap: 10px; background: #fff0e8; color: #903315; border-radius: 12px; padding: 14px 16px; }
.surface-kds .v2-kds svg { flex-shrink: 0; }
.surface-kds .v2-kds .v2-kds-station-note, .surface-kds .v2-kds .kds-card > [role="status"] { margin: 0 16px 16px; }
.surface-kds .v2-kds .operator-empty { grid-column: 1 / -1; }
.v2-kds-mobile-summary, .v2-kds-mobile-filters { display: none; }
.surface-kds .v2-kds :is(button,select):focus-visible, .v2-kds-confirm button:focus-visible { outline: 3px solid #c54118; outline-offset: 3px; }
.v2-kds-confirm { color: #222320; border: 1px solid #e8e6e1; border-radius: 20px; padding: 24px; width: min(480px,calc(100vw - 32px)); box-sizing: border-box; }
.v2-kds-confirm::backdrop { background: #22232080; }
.v2-kds-confirm header { display: flex; align-items: center; gap: 12px; }
.v2-kds-confirm header > svg { color: #a82d37; flex-shrink: 0; }
.v2-kds-confirm h2 { flex: 1; font-size: 22px; margin: 0; }
.v2-kds-confirm .v2-kds-confirm-close { flex: none; display: grid; place-items: center; width: 44px; height: 44px; padding: 0; background: transparent; border: 0; }
.v2-kds-confirm .v2-kds-reason-label { margin-top: 24px; font-weight: 600; }
.v2-kds-confirm .v2-kds-fixed-reason { padding: 16px; border-radius: 12px; min-height: 72px; background: #f0f0ee; }
.v2-kds-confirm .button-primary { background: #24241f; border-color: #24241f; color: white; }
.v2-kds-confirm .button { box-shadow: none; }
.v2-kds-confirm form { display: flex; gap: 12px; margin-top: 24px; }
.v2-kds-confirm button { flex: 1; min-height: 44px; }
@media(max-width:1200px) { .surface-kds .v2-kds .kds-grid { grid-template-columns: repeat(2,minmax(0,1fr)); } .surface-kds .v2-kds .kds-overview { gap: 8px; } .surface-kds .v2-kds .kds-metric { padding: 12px; } }
@media(max-width:600px) {
 .surface-kds .operator-shell { padding: 16px; }
 .surface-kds .operator-header { display: flex; flex-direction: row; align-items: center; gap: 8px; min-height: 44px; margin-bottom: 16px; }
 .surface-kds .operator-header h1 { font-size: 22px; }
 .surface-kds .operator-heading .eyebrow { display: none; }
 .surface-kds .operator-context { gap: 4px; }
 .surface-kds #dashboard-refresh-button { padding: 10px; }
 .surface-kds .operator-context #logout-button { padding: 10px; }
 .surface-kds .v2-kds .kds-card header { padding: 12px; gap: 6px; }
 .surface-kds .v2-kds .v2-kds-ticket-heading { gap: 8px; }
 .surface-kds .v2-kds .kds-card h2 { font-size: 18px; }
 .surface-kds .v2-kds .status-label { padding: 4px 6px; font-size: 12px; }
 .surface-kds .v2-kds .ticket-age { font-size: 12px; gap: 4px; }
 .surface-kds .v2-kds .ticket-age strong { font-size: 12px; }
 .surface-kds .v2-kds .v2-kds-mobile-summary { margin-bottom: 16px; }
 .surface-kds .v2-kds .kds-grid { grid-template-columns: minmax(0,1fr); }
 .surface-kds .v2-kds .kds-overview, .surface-kds .v2-kds .v2-kds-filter-row { display: none; }
 .surface-kds .v2-kds .v2-kds-summary-heading p { font-size: 12px; }
 .surface-kds .v2-kds .v2-kds-mobile-summary { display: flex; justify-content: space-between; gap: 12px; padding: 16px; border-radius: 12px; background: #fff0e8; }
 .surface-kds .v2-kds .v2-kds-mobile-filters { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; margin: 0 0 16px; }
 .surface-kds .v2-kds .v2-kds-mobile-summary > * { display: inline-flex; align-items: center; gap: 6px; }
 .surface-kds .v2-kds .v2-kds-mobile-filters label > span { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
 .v2-kds-mobile-filters label { display: grid; gap: 6px; min-width: 0; }
 .v2-kds-mobile-filters select { width: 100%; min-width: 0; min-height: 44px; font-size: 16px; border: 1px solid #e8e6e1; border-radius: 12px; background: white; color: #222320; padding: 10px; }
}
/* Intrinsic ticket content determines height; retain aligned desktop actions. */
.surface-kds .v2-kds .kds-card ul {min-height:0;padding:16px;gap:12px;}
.surface-kds .v2-kds .v2-kds-order-type {margin-bottom:12px;}
.surface-kds .v2-kds .kds-card-actions,.surface-kds .v2-kds .kds-station-actions {padding-bottom:12px;}
.surface-kds .v2-kds .kds-card-actions>button,.surface-kds .v2-kds .kds-station-actions>button {min-height:44px;}
.surface-kds .v2-kds .v2-kds-station-note {margin-bottom:12px;}
.surface-kds .v2-kds .v2-kds-selections {display:flex;gap:10px;align-items:flex-start;}
.v2-kds-confirm [data-v2-kds-confirm-status]:not([hidden]) {padding:12px;border:1px solid #ead8bb;border-radius:12px;background:#fff0e8;color:#903315;font-size:14px;}
.v2-kds-confirm button:disabled {opacity:.55;cursor:not-allowed;}
/* Expanded attribution must not enlarge the parent grid's intrinsic track. */
.surface-kds .v2-kds { min-width: 0; }
.surface-kds .v2-kds-metric-info { overflow-wrap: anywhere; }
.surface-kds .v2-kds-metric-info summary { max-width: 100%; white-space: normal; }
/* D05: bound legacy header rhythm to the approved dedicated work surface. */
body.surface-kds,body.surface-kds :is(h1,h2,h3,p,span,strong,small,a,button,input,select,summary,label){font-family:"Plus Jakarta Sans Catalog","Plus Jakarta Sans",system-ui,sans-serif;}
.surface-kds .operator-header{margin-bottom:16px;align-items:center;}
.surface-kds .operator-header h1{line-height:1.2;}
.surface-kds :is(#dashboard-header-breadcrumb,#dashboard-module-actions):empty{display:none;}
.surface-kds .operator-header .eyebrow{font-size:12px;line-height:1.5;font-weight:500;}
.surface-kds .v2-kds .kds-overview{margin-top:0;}
.surface-kds .v2-kds .kds-metric{min-height:88px;}
.surface-kds .v2-kds .kds-metric>svg{width:32px;height:32px;flex:none;}
.surface-kds .v2-kds .kds-metric strong{font-weight:700;}
.surface-kds .v2-kds .kds-filters button{min-width:0;font-weight:600;}
.surface-kds .v2-kds .kds-filters button strong{font-weight:600;}
.surface-kds .v2-kds .v2-kds-station{font-size:12px;font-weight:600;}
.surface-kds .v2-kds-confirm h2{font-weight:700;line-height:1.3;}
.surface-kds .v2-kds-confirm p{font-size:14px;line-height:1.5;}
.surface-kds .v2-kds-confirm .v2-kds-fixed-reason{font-weight:400;}
.surface-kds .v2-kds-confirm .button{font-size:14px;font-weight:600;}
@media(max-width:600px){
 .surface-kds .operator-shell{padding-top:8px;}
 .surface-kds .operator-header{min-height:44px;margin-bottom:12px;}
 .surface-kds .v2-kds .v2-kds-mobile-filters{gap:12px;margin-bottom:12px;}
 .surface-kds .v2-kds .v2-kds-mobile-summary{padding:12px;margin-bottom:12px;font-size:14px;}
 .surface-kds .v2-kds .v2-kds-mobile-summary>strong{font-weight:700;}
 .surface-kds .v2-kds .v2-kds-mobile-filters select{appearance:none;padding-right:32px;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%236b706c' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E") no-repeat right 10px center/18px 18px;font-family:inherit;font-weight:400;}
}
/* Select chevron reproduces vendored official Feather 4.29.2 chevron-down geometry; see ui/vendor/feather-provenance.json and feather-icons.js. */
/* Legacy KDS headings explicitly name the variable family; bind these real
   headings to the already bundled static 700 face in both browser engines. */
.surface-kds .operator-header h1,.surface-kds .v2-kds .kds-card h2{font-family:"Plus Jakarta Sans Catalog","Plus Jakarta Sans",system-ui,sans-serif;font-weight:700;}

.surface-kds .v2-kds .v2-kds-summary-heading > .button { flex-shrink: 0; }
