/* Shared request surfaces: quiet order cards, distinct call icons and visible
   waiting times. The existing acceptance, permissions and rejection flow stays
   in RequestsScreen. */
.requests-screen .requests-head h1 { font-weight: var(--weight-medium); }
.requests-screen .requests-board { gap: var(--space-4); }
.requests-screen .requests-column > header { min-height: var(--control-md); padding-inline: 2px; }
.requests-screen .requests-column h2 {
  color: var(--color-primary);
  font-size: var(--text-lg);
  font-weight: var(--weight-medium);
  letter-spacing: var(--tracking-tight);
}
.requests-screen .requests-column > header > strong {
  min-width: 26px;
  height: 26px;
  background: var(--color-primary-subtle);
  color: var(--color-primary);
  font-weight: var(--weight-medium);
}
.requests-screen .requests-column.is-calls > header > strong {
  background: var(--color-warning-subtle);
  color: var(--color-warning);
}
.requests-screen .requests-list { gap: var(--space-3); }
.requests-screen .request-card { border-color: var(--color-border-strong); border-radius: var(--radius-lg); }
.requests-screen .request-card > header { padding: var(--space-3) var(--space-4); align-items: center; }
.requests-screen .request-card > header strong {
  color: var(--color-primary);
  font-size: var(--text-lg);
  font-weight: var(--weight-medium);
}
.requests-screen .request-age {
  background: var(--color-surface-subtle);
  font-weight: var(--weight-medium);
}
.requests-screen .request-card.is-late { border-color: var(--color-warning-border); }
.requests-screen .request-card.is-late .request-age { background: var(--color-warning-subtle); color: var(--color-warning); }
.requests-screen .request-items li { min-height: var(--control-md); padding-block: 10px; }
.requests-screen .request-items li > div { overflow-wrap: anywhere; }
.requests-screen .request-items small { line-height: var(--leading-normal); }
.requests-screen .request-items em { color: var(--color-text-secondary); font-weight: var(--weight-medium); }
.requests-screen .request-note { background: var(--color-surface-subtle); line-height: var(--leading-normal); overflow-wrap: anywhere; }
.requests-screen .request-blocked { align-items: flex-start; line-height: var(--leading-normal); overflow-wrap: anywhere; }
.requests-screen .request-blocked svg { margin-top: 2px; }
.requests-screen .request-card > footer {
  padding: var(--space-3) var(--space-4);
  border-radius: 0 0 var(--radius-lg) var(--radius-lg);
  background: color-mix(in srgb, var(--color-primary-subtle) 45%, var(--color-surface));
}
.requests-screen .request-card > footer strong {
  color: var(--color-primary);
  font-size: var(--text-xl);
  font-weight: var(--weight-medium);
  letter-spacing: var(--tracking-tight);
}
.requests-screen .request-card > footer .btn-primary { min-width: 144px; }
.requests-screen .request-call {
  min-height: 88px;
  grid-template-columns: var(--control-md) minmax(0, 1fr) auto;
  padding: var(--space-3);
  border-radius: var(--radius-lg);
}
.requests-screen .request-call-icon {
  width: var(--control-md);
  height: var(--control-md);
  border-radius: var(--radius-lg);
}
.requests-screen .request-call.is-waiter_call .request-call-icon { background: var(--color-warning-subtle); color: var(--color-warning); }
.requests-screen .request-call.is-bill_request .request-call-icon { background: var(--color-primary-subtle); color: var(--color-primary); }
.requests-screen .request-call-copy { gap: var(--space-1); }
.requests-screen .request-call-copy strong { color: var(--color-primary); font-size: var(--text-lg); font-weight: var(--weight-medium); }
.requests-screen .request-call-copy > span { line-height: var(--leading-normal); overflow-wrap: anywhere; }
.requests-screen .request-call-actions { gap: var(--space-2); }
.requests-screen .request-call-actions .btn { min-height: var(--control-touch); }
.requests-screen .request-call-actions .btn-secondary { border-color: var(--color-border-strong); color: var(--color-primary); }
.requests-screen .request-call-actions .btn-secondary:hover:not(:disabled) { background: var(--color-primary-subtle); border-color: var(--color-primary); }
.requests-screen .request-call-actions .btn-secondary:active:not(:disabled) { background: var(--color-primary-subtle-hover); }
.requests-screen :is(.request-card, .request-call) .btn:disabled {
  opacity: 1;
  background: var(--color-surface-sunken);
  color: var(--color-text-disabled);
  border-color: var(--color-border);
}
.requests-screen .request-call.is-late { border-color: var(--color-warning-border); }
.requests-screen .requests-empty { min-height: 160px; }
.requests-screen .requests-history-content { white-space: normal; overflow-wrap: anywhere; }

@media (min-width: 900px) and (max-width: 1199px) {
  .requests-screen .request-call { grid-template-columns: var(--control-md) minmax(0, 1fr); row-gap: var(--space-2); }
  .requests-screen .request-call-actions { grid-column: 1 / -1; justify-content: flex-end; }
}
@media (max-width: 899px) {
  .requests-screen .requests-head { align-items: flex-start; }
  .requests-screen .requests-summary { line-height: var(--leading-normal); }
  .requests-screen .requests-list { margin-inline: 0; padding-inline: 0; overflow: visible; }
  .requests-screen .requests-history { flex: none; overflow: visible; }
  .requests-screen .requests-history .data-table { width: 100%; table-layout: fixed; }
  .requests-screen .requests-history .data-table thead {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip-path: inset(50%);
  }
  .requests-screen .requests-history tbody { display: block; }
  .requests-screen .requests-history tr {
    display: grid;
    grid-template-columns: 48px minmax(0, 1fr) auto;
    align-items: start;
    gap: var(--space-2) var(--space-3);
    padding: var(--space-4);
    border-bottom: 1px solid var(--color-divider);
  }
  .requests-screen .requests-history tr:last-child { border-bottom: 0; }
  .requests-screen .requests-history .data-table td { min-width: 0; width: auto; height: auto; padding: 0; border: 0; white-space: normal; overflow-wrap: anywhere; }
  .requests-screen .requests-history td:nth-child(1) { grid-area: 1 / 1; color: var(--color-text-muted); font-size: var(--text-xs); }
  .requests-screen .requests-history td:nth-child(2) { grid-area: 1 / 2; }
  .requests-screen .requests-history td:nth-child(3) { grid-area: 2 / 2 / auto / 4; color: var(--color-text-secondary); font-size: var(--text-sm); }
  .requests-screen .requests-history td:nth-child(4) { grid-area: 3 / 2 / auto / 4; max-width: none; line-height: var(--leading-normal); }
  .requests-screen .requests-history td:nth-child(5) { grid-area: 1 / 3; max-width: 110px; text-align: right; }
  .requests-screen .requests-history tr:has(.requests-history-empty) { display: block; }
  .requests-screen .requests-history .data-table .requests-history-empty { display: grid; place-items: center; height: 128px; font-size: var(--text-base); }
}
@media (max-width: 599px) {
  .requests-screen .request-card > header, .requests-screen .request-card > footer { padding-inline: var(--space-3); }
  .requests-screen .request-items { padding-inline: var(--space-3); }
  .requests-screen .request-note, .requests-screen .request-blocked { margin-inline: var(--space-3); }
  .requests-screen .request-card > footer > span { width: 100%; justify-content: space-between; }
  .requests-screen .request-call { grid-template-columns: var(--control-md) minmax(0, 1fr); }
  .requests-screen .request-call-actions { grid-column: 1 / -1; }
  .requests-screen .request-call-actions .btn-secondary { flex: 1; }
}
