/* hos-gr — /guest_requests triage queue (HotelOS-LOCAL layout glue).
 * Option A (muf, 2026-10-25): tabs in the gem's `.os-page-tools` band (as Front Office), each
 * category a canvas `.os-section-head` over ONE `.hos-rwrows` worklist panel (fo_board.css — the
 * FO Worklist / Housekeeping rows). This sheet only fits the queue's row content into those rows.
 */

/* A tabs-only tools band has no 32px control to give it height (FO's band takes its height from
   its filter buttons); hold the same band height so the active underline sits where FO's does. */
.hos-gr-tools { min-height: calc(var(--space-12) + var(--space-4)); }
/* The gem pins a band's tab group at flex-shrink: 0 (it shares the row with controls). Here the
   tabs ARE the band, and seven of them (Public seats + eZee review) outgrow a 768–1024 pane:
   let the group shrink and scroll sideways inside the band instead of widening the page. */
.hos-gr-tools > .os-page-tabs { flex-shrink: 1; min-width: 0; overflow-x: auto; }

.hos-gr-panel { display: flex; flex-direction: column; gap: var(--space-6); }
.hos-gr-panel[hidden], .hos-gr [data-type][hidden] { display: none; }
.hos-gr-ezee { display: flex; flex-direction: column; gap: var(--space-6); }

.hos-gr-empty { font-size: var(--text-sm); color: var(--muted); }

/* Row content inside a `.hos-rwrow--wrap`: the main column is the row's text body. */
.hos-gr-main { flex: 1 1 240px; min-width: 0; display: flex; flex-direction: column; gap: var(--space-1); }
.hos-gr-title { font-size: var(--text-sm); font-weight: 600; color: var(--ink); display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-2); }
.hos-gr-sub { font-size: var(--text-xs); color: var(--muted); }
.hos-gr-sub .os-mono { color: var(--text-secondary); }
.hos-gr-reason { display: block; }
.hos-gr-actions { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-2); margin-left: auto; }
.hos-gr-actions form, .hos-gr-form, .hos-gr-row form.button_to { margin: 0; }

/* Inline forms living inside a row's main column (picker, verify types, onward time). */
.hos-gr-form { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-2); margin-top: var(--space-2); }
.hos-gr-form--col { flex-direction: column; align-items: stretch; }
.hos-gr-form__line { display: flex; align-items: center; gap: var(--space-2); }
.hos-gr-form__line > .os-meta { flex: 1; min-width: 0; }
.hos-gr-form .os-field-input, .hos-gr-form .os-field-select, .hos-gr-actions .os-field-select { width: auto; }
.hos-gr-aside { margin-left: auto; display: flex; flex-direction: column; align-items: flex-end; gap: var(--space-2); text-align: right; }
.hos-gr-aside .hos-gr-sub { max-width: 340px; }

/* Confirmed group — native <details>, collapsed, under its section's open rows. */
.hos-gr-group > summary { cursor: pointer; list-style: none; display: flex; align-items: center; gap: var(--space-2); margin-bottom: var(--space-3); }
.hos-gr-group > summary::-webkit-details-marker { display: none; }

@media (max-width: 640px) {
  /* The action reflows to its own line, right-aligned (DESIGN.md responsive icon-led rows). */
  .hos-rwrow > .hos-gr-actions, .hos-rwrow > .hos-gr-aside { width: 100%; justify-content: flex-end; }
  .hos-gr-aside { align-items: stretch; text-align: left; }
}
