/* Ajustes exclusivos do KDS sobre os componentes e tokens compartilhados. */
body[data-kc-module="registro-cardapio-kds"] .board {
  background: transparent;
  grid-template-columns: repeat(auto-fit,minmax(min(100%,400px),1fr));
  zoom: var(--kds-zoom,1);
  min-height: 0;
}
body[data-kc-module="registro-cardapio-kds"] #board .ticket {
  position: relative;
  min-width: 0;
  border: 2px solid var(--kc-color-border) !important;
  border-left-width: 8px !important;
  background: var(--kc-color-surface-card) !important;
  transition: opacity var(--kc-duration-fast), transform var(--kc-duration-fast);
  overflow-wrap: anywhere;
}
body[data-kc-module="registro-cardapio-kds"] #board .ticket.urgente { border-left-color: var(--kc-color-danger) !important; }
body[data-kc-module="registro-cardapio-kds"] #board .ticket.mensagem { border-color: var(--kc-color-primary) !important; background: var(--kc-color-primary-surface) !important; }
body[data-kc-module="registro-cardapio-kds"] #board .ticket.especial { border-left-color: var(--kc-color-primary) !important; }
body[data-kc-module="registro-cardapio-kds"] #board .ticket.kds-selected { outline: 4px solid var(--kc-color-primary); outline-offset: 3px; }
body[data-kc-module="registro-cardapio-kds"] #board .ticket.alarme { animation: none; border-color: var(--kc-color-warning-600) !important; background: var(--kc-color-warning-surface) !important; box-shadow: 0 0 0 3px var(--kc-color-warning-600); }
body[data-kc-module="registro-cardapio-kds"] #board .ticket.atrasado { border-color: var(--kc-color-danger) !important; background: var(--kc-color-danger-surface) !important; }
body[data-kc-module="registro-cardapio-kds"] #board .ticket.alarme.atrasado { box-shadow: 0 0 0 3px var(--kc-color-danger); }
body[data-kc-module="registro-cardapio-kds"] #board .ticket.alarme:not(.kds-selected) { outline: 0; }
.kds-pending-label { background: var(--kc-color-surface-muted); border-color: var(--kc-color-border); color: var(--kc-color-text-secondary); font-size: var(--kc-font-size-sm); letter-spacing: .05em; }
.alarme .kds-pending-label { background: var(--kc-color-warning-700); border-color: var(--kc-color-warning-700); color: var(--kc-color-white); }
#board .timer:not(.late) { background: var(--kc-color-primary-surface); border-color: var(--kc-color-primary-surface-border); color: var(--kc-color-primary-surface-text); }
.kds-special-label { background: var(--kc-color-primary-700); color: var(--kc-color-white); border-color: var(--kc-color-primary-700); font-size: var(--kc-font-size-lg); }
#board .ticket-title { display: flex; align-items: center; justify-content: space-between; }
#board .destination { flex-wrap: wrap; gap: var(--kc-space-2) var(--kc-space-5); }
#board .obs, #board .resend-alert { border-color: var(--kc-color-warning-600); border-left-width: 6px; white-space: pre-wrap; overflow-wrap: anywhere; }
#board .obs small { font-size: var(--kc-font-size-md); }
#board .ticket-actions .kc-button { flex: 1; }
#board .ticket-actions .kc-button:active { transform: scale(.97); }
#board .ticket.kds-saving { opacity: .8; }
body[data-kc-module="registro-cardapio-kds"] #board .ticket.kds-sent { border-color: var(--kc-color-success) !important; transform: scale(.98); }
#board .ticket.kds-sent::after { content: "✓ Confirmado"; position: absolute; inset: 0; display: grid; place-items: center; border-radius: inherit; background: var(--kc-color-success-surface); color: var(--kc-color-success-surface-text); font-size: var(--kc-font-size-7xl); font-weight: var(--kc-font-weight-black); animation: kds-confirm var(--kc-duration-fast) ease-out; }
@keyframes kds-confirm { from { opacity: 0; } to { opacity: 1; } }
.kds-toolbar { align-items: center; }
#kdsStationSummary { display:flex; flex-wrap:wrap; align-items:center; gap:var(--kc-space-2); min-width:0; }
#kdsStationSummary .kc-badge { max-width:100%; overflow-wrap:anywhere; }
.kds-settings-modal { width: min(720px,100%); max-height: min(760px,calc(100dvh - 36px)); }
.kds-settings-modal .kc-modal__header { padding: var(--kc-space-9); }
.kds-settings-modal .kc-modal__description { max-width: 54ch; font-size: var(--kc-font-size-lg); line-height: var(--kc-line-height-body); }
.kds-settings-tabs { display: flex; flex-shrink: 0; gap: var(--kc-space-2); margin: 0; padding: var(--kc-space-3) var(--kc-space-9); border-bottom: 1px solid var(--kc-color-border); border-radius: 0; background: var(--kc-color-surface-subtle); }
.kds-settings-tabs .kc-tab { flex: 1; min-height: 44px; font-size: var(--kc-font-size-xl); }
.kds-settings-body { padding: var(--kc-space-9); }
.kds-settings-panel { display: grid; align-content: start; gap: var(--kc-space-6); }
.kds-settings-panel[hidden] { display: none; }
.kds-panel-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: var(--kc-space-5); }
.kds-panel-heading h3 { margin: 0 0 var(--kc-space-2); font-size: var(--kc-font-size-4xl); font-weight: var(--kc-font-weight-bold); }
.kds-panel-heading .kc-badge { flex-shrink: 0; }
.kds-settings-grid, .kds-stations { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: var(--kc-space-3); }
.kds-settings-body .kc-choice { align-items: center; min-height: 44px; }
.kds-station-choice { padding: var(--kc-space-5); border: 1px solid var(--kc-color-border-field); border-radius: var(--kc-radius-md); background: var(--kc-color-surface-field); }
.kds-station-choice:has(input:checked) { background: var(--kc-color-primary-surface); border-color: var(--kc-color-primary-surface-border); color: var(--kc-color-primary-surface-text); }
.kds-station-choice:has(input:focus-visible) { box-shadow: var(--kc-shadow-focus); }
.kds-all-stations { font-weight: var(--kc-font-weight-bold); }
.kds-general-orders { padding-top: var(--kc-space-6); border-top: 1px solid var(--kc-color-border); display: grid; gap: var(--kc-space-2); }
.kds-general-orders .kds-help { padding-left: 28px; }
.kds-zoom-card { padding: var(--kc-space-7); background: var(--kc-color-surface-subtle); }
.kds-zoom-controls { display: flex; align-items: center; justify-content: center; gap: var(--kc-space-9); }
.kds-zoom-controls .kc-button { width: 52px; height: 52px; font-size: var(--kc-font-size-7xl); }
#kdsZoomValue { min-width: 130px; text-align: center; font-size: var(--kc-font-size-display); font-weight: var(--kc-font-weight-black); color: var(--kc-color-primary-surface-text); font-variant-numeric: tabular-nums; }
.kds-zoom-footer { display: flex; align-items: center; justify-content: space-between; gap: var(--kc-space-4); margin-top: var(--kc-space-5); }
.kds-settings-body .kc-field__label { font-size: var(--kc-font-size-lg); }
.kds-settings-body :is(.kc-input,.kc-select) { width: 100%; min-width: 0; }
.kds-key-field { display: grid; grid-template-columns: minmax(0,1fr) 100px; align-items: center; gap: var(--kc-space-4); padding: var(--kc-space-3) var(--kc-space-4); border: 1px solid var(--kc-color-border); border-radius: var(--kc-radius-md); background: var(--kc-color-surface-subtle); }
.kds-key-field .kc-field__label { text-transform: none; letter-spacing: normal; }
.kds-key-field .kc-input { text-align: center; font-family: var(--kc-font-family-mono); font-weight: var(--kc-font-weight-bold); cursor: pointer; }
.kds-key-field .kc-input:focus { cursor: text; }
.kds-key-guidance { display: grid; gap: var(--kc-space-4); }
.kds-key-guidance kbd { font-family: var(--kc-font-family-mono); font-weight: var(--kc-font-weight-bold); }
.kds-settings-footer { align-items: center; padding: var(--kc-space-7) var(--kc-space-9); }
.kds-settings-footer .kc-field__error { flex: 1; margin: 0; }
.kds-help { margin: 0; font-size: var(--kc-font-size-lg); line-height: var(--kc-line-height-body); color: var(--kc-color-text-secondary); }
#kdsSettingsError:empty { display: none; }
#kdsSendDescription { font-size: var(--kc-font-size-5xl); line-height: var(--kc-line-height-body); white-space: pre-wrap; overflow-wrap: anywhere; }
.kds-new-requests { position: fixed; z-index: calc(var(--kc-z-modal) - 1); right: var(--kc-space-6); bottom: calc(16px + env(safe-area-inset-bottom)); box-shadow: var(--kc-shadow-lg); max-width: calc(100vw - 32px); }
.kds-feedback { position: fixed; z-index: calc(var(--kc-z-modal) + 1); left: 50%; transform: translateX(-50%); bottom: calc(78px + env(safe-area-inset-bottom)); width: max-content; max-width: calc(100vw - 32px); box-shadow: var(--kc-shadow-lg); pointer-events: none; font-size: var(--kc-font-size-3xl); }
#kdsNewRequests[hidden], #kdsFeedback[hidden] { display: none; }
#rejectModal { z-index: var(--kc-z-modal); }
#rejectModal .reason-btn { justify-content: flex-start; min-height: 48px; font-size: var(--kc-font-size-3xl); }
body[data-kc-module="registro-cardapio-kds"] #rejectModal .reason-btn.active { background: var(--kc-color-danger-surface) !important; border: 2px solid var(--kc-color-danger) !important; color: var(--kc-color-danger-surface-text) !important; }
#rejectModal .reason-btn:focus-visible { outline: 3px solid var(--kc-color-focus); outline-offset: 2px; }
#rejectSelection { min-height: 2.5em; font-weight: var(--kc-font-weight-bold); }
@media (max-width:1100px), (max-aspect-ratio:4/3) {
  body[data-kc-module="registro-cardapio-kds"] #board .ticket { padding: var(--kc-space-3); gap: var(--kc-space-2); }
  body[data-kc-module="registro-cardapio-kds"] #board :is(.ticket-recipe,.ticket-quantity) { padding: var(--kc-space-3); }
  body[data-kc-module="registro-cardapio-kds"] #board .ticket-primary { grid-template-columns: minmax(0,1fr) minmax(100px,.65fr); gap: var(--kc-space-2); }
  body[data-kc-module="registro-cardapio-kds"] #board .ticket-actions .btn { min-height: 44px; padding: var(--kc-space-3); }
  body[data-kc-module="registro-cardapio-kds"] #board .timer { padding: var(--kc-space-1) var(--kc-space-3); }
}
@media (max-width:760px) {
  #board .destination { padding: var(--kc-space-2) 0 0; font-size: var(--kc-font-size-lg); }
  #board .ticket-primary { grid-template-columns: minmax(0,1fr) minmax(100px,.65fr); }
  .kds-settings-grid { grid-template-columns: 1fr; }
  .kds-settings-modal { width: 100%; max-height: 94dvh; }
  .kds-settings-modal .kc-modal__header, .kds-settings-body { padding: var(--kc-space-7); }
  .kds-settings-tabs { padding-inline: var(--kc-space-7); }
  .kds-key-field { grid-template-columns: minmax(0,1fr) 110px; }
  .kds-settings-footer { padding: var(--kc-space-5) var(--kc-space-7); }
  .kds-settings-footer .kc-field__error { width: 100%; }
  .kds-panel-heading h3 { font-size: var(--kc-font-size-3xl); }
  .kds-toolbar { flex-wrap: wrap; }
  #kdsStationSummary { font-size: var(--kc-font-size-lg); }
}
@media (prefers-reduced-motion:reduce) {
  #board .ticket, #board .ticket::after, #board .ticket-actions .kc-button { animation: none !important; transition: none; transform: none !important; }
}
@media print { .kds-toolbar, .kds-new-requests, .kds-feedback, #kdsSettingsModal, #kdsSendModal { display: none !important; } }
/* Mantém palavras inteiras no modo amplo e evita transições na escolha do motivo. */
#board .ticket-primary { grid-template-columns: minmax(0,1fr) minmax(150px,.75fr); }
#board .ticket-quantity { padding: var(--kc-space-3); }
#rejectModal .reason-btn { transition: none; }
@media (max-width:900px) {
  body[data-kc-module="registro-cardapio-kds"] .board { grid-template-columns: repeat(auto-fit,minmax(min(100%,320px),1fr)); }
  #board .ticket-primary { grid-template-columns: minmax(0,1fr) minmax(100px,.65fr); }
}

/* A mesma régua do cabeçalho de Cardápio e Tarefas, com as utilidades do KDS. */
body[data-kc-module="registro-cardapio-kds"] > header { background: var(--kc-color-surface-panel); }
body[data-kc-module="registro-cardapio-kds"] .record-navigation { grid-template-columns: var(--kc-operational-primary-nav-width) 1px minmax(0,1fr) auto !important; }
.kds-toolbar { padding: var(--kc-space-3) var(--kc-space-5); }
.kds-history-row { grid-template-columns: minmax(180px,1.6fr) minmax(140px,1fr) 125px 120px; gap: var(--kc-space-4); padding: var(--kc-space-4) var(--kc-space-5); border-radius: var(--kc-radius-md); }
.kds-history-recipe { display: flex; flex-wrap: wrap; align-items: center; gap: var(--kc-space-2) var(--kc-space-3); min-width: 0; }
.kds-history-recipe > strong { font-size: var(--kc-font-size-xl); overflow-wrap: anywhere; }
.kds-history-recipe > small { flex-basis: 100%; margin: 0; font-size: var(--kc-font-size-sm); }
.kds-history-quantity { font-size: var(--kc-font-size-lg); font-weight: var(--kc-font-weight-black); white-space: normal; }
.kds-history-result, .kds-history-timing { display: flex; align-items: flex-start; gap: var(--kc-space-2); flex-direction: column; }
.kds-history-note { font-size: var(--kc-font-size-md); overflow-wrap: anywhere; }
.kds-history-note.is-refused { color: var(--kc-color-danger-surface-text); font-weight: var(--kc-font-weight-bold); }
.kds-history-timing time { font-size: var(--kc-font-size-sm); color: var(--kc-color-text-secondary); }
.kds-history-row .kc-badge { width: max-content; max-width: 100%; }
.kds-history-empty { min-height: 0; padding: var(--kc-space-6); }
#historyToggle[hidden] { display: none; }
#kdsReturnDescription { font-size: var(--kc-font-size-3xl); font-weight: var(--kc-font-weight-bold); overflow-wrap: anywhere; }
@media (max-width:1000px) {
  .kds-history-row { grid-template-columns: minmax(0,1fr) auto; }
  .kds-history-recipe { grid-column: 1 / -1; }
  .kds-history-row > button { grid-column: 1 / -1; justify-self: end; }
}
@media (max-width:720px) {
  body[data-kc-module="registro-cardapio-kds"] .record-date-selector__controls { grid-template-columns: minmax(0,1fr) 42px !important; }
  .kds-toolbar .kc-toolbar__group { flex-wrap: wrap; }
  .kds-history-row { padding: var(--kc-space-4); gap: var(--kc-space-3); }
  .history-head { flex-wrap: wrap; }
  .history-head .actions { width: auto; }
}

.kds-time-list { display: grid; gap: var(--kc-space-3); }
.kds-time-row { display: flex; justify-content: space-between; align-items: center; gap: var(--kc-space-4); padding: var(--kc-space-4); border: 1px solid var(--kc-color-border); border-radius: var(--kc-radius-md); background: var(--kc-color-surface-subtle); }
.kds-time-row .kc-field__label { text-transform: none; letter-spacing: normal; }
.kds-default-time { background: var(--kc-color-primary-surface); border-color: var(--kc-color-primary-surface-border); }
.kds-default-time > span:first-child { display: grid; gap: var(--kc-space-2); }
.kds-minute-field { display: inline-flex; align-items: center; gap: var(--kc-space-2); flex-shrink: 0; color: var(--kc-color-text-secondary); }
.kds-settings-body .kds-minute-field .kc-input { width: 88px; text-align: center; }
.kds-timing-heading { margin: 0 0 var(--kc-space-2); font-size: var(--kc-font-size-xl); }
.kds-timing-exceptions { border-top: 1px solid var(--kc-color-border); padding-top: var(--kc-space-5); }
.kds-timing-exceptions > summary { cursor: pointer; font-weight: var(--kc-font-weight-bold); padding-block: var(--kc-space-3); }
.kds-timing-exceptions > summary .kc-badge { margin-left: var(--kc-space-2); }
.kds-timing-exception-body, .kds-add-recipe-time { display: grid; gap: var(--kc-space-4); padding-top: var(--kc-space-4); }
.kds-add-recipe-time { border-top: 1px solid var(--kc-color-border); }
.kds-exception-actions { justify-content: space-between; align-items: end; }
.kds-recipe-time > label { flex: 1; min-width: 0; }
.kds-recipe-time .kds-help { overflow-wrap: anywhere; }
@media(max-width:720px) {
  .kds-settings-tabs .kc-tab { padding-inline: var(--kc-space-2); font-size: var(--kc-font-size-lg); }
  .kds-time-row { gap: var(--kc-space-2); }
  .kds-recipe-time { align-items: end; }
  .kds-recipe-time > button { max-width: 90px; white-space: normal; }
}

.kds-station-time-source { display: block; margin-top: var(--kc-space-1); }
