body[data-page="rehearsal"] { background: #090b11; }
.rehearsal-shell { padding-block: 24px 38px; font-size: 14px; letter-spacing: 0; }
.rehearsal-shell :is(h1,h2,h3,p,figure,dl,ol,ul) { margin: 0; letter-spacing: 0; }
.rehearsal-shell h1 { font-size: 28px; line-height: 1.2; }
.rehearsal-shell h2 { font-size: 18px; line-height: 1.35; }
.rehearsal-shell h3 { font-size: 16px; line-height: 1.4; }
.rehearsal-shell .eyebrow { margin-bottom: 5px; color: #82ecf7; letter-spacing: 0; }
.rehearsal-heading, .rehearsal-show, .rh-section-head, .rh-dialog-head { display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.rehearsal-actions, .rh-control-row { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.rehearsal-heading { flex-wrap: wrap; margin-bottom: 18px; }
.rehearsal-disclosure { display: flex; gap: 14px; align-items: center; padding: 12px 16px; border: 1px solid #dfd666; border-left-width: 5px; background: #252515; color: #f5f3d4; }
.rehearsal-disclosure strong { color: #ffff80; white-space: nowrap; }
.rehearsal-subnav { display: flex; gap: 22px; flex-wrap: wrap; padding: 12px 0; border-bottom: 1px solid #353944; }
.rehearsal-subnav a { text-decoration: none; color: #d3dce8; padding-block: 5px; }
.rehearsal-subnav a:hover { color: #83effa; }
.rehearsal-notice { min-height: 48px; padding-block: 12px; color: #a8f0cb; overflow-wrap: anywhere; }
.rehearsal-notice[data-error="true"] { color: #ffadb9; }
.rehearsal-show { padding-bottom: 18px; align-items: flex-end; flex-wrap: wrap; }
.rehearsal-show-form, .rh-giveaway-form { display: flex; gap: 10px; align-items: flex-end; flex-wrap: wrap; }
.rehearsal-show-form label { width: min(280px, 100%); }
.rehearsal-shell label { display: grid; gap: 5px; color: #d0d7e2; min-width: 0; font-size: 12px; font-weight: 650; }
.rehearsal-shell :is(input,select) { width: 100%; min-width: 0; height: 42px; border: 1px solid #5c6574; border-radius: 4px; padding: 8px 10px; background: #0c1018; color: #fff; font: inherit; font-size: 14px; }
.rh-button { display: inline-flex; justify-content: center; align-items: center; gap: 7px; min-height: 42px; max-width: 100%; border: 1px solid #596777; border-radius: 5px; padding: 9px 13px; background: #202731; color: #f2f6ff; font: inherit; font-size: 13px; line-height: 1.3; font-weight: 750; text-align: center; text-decoration: none; cursor: pointer; overflow-wrap: anywhere; }
.rh-button:hover:not(:disabled) { background: #303b48; border-color: #a5c1d4; }
.rh-button:disabled { color: #acb2bd; background: #1d2129; border-color: #404652; cursor: not-allowed; }
.rh-primary { background: #89e8f1; color: #0a2026; border-color: #89e8f1; }
.rh-primary:hover:not(:disabled) { background: #b1f4fa; }
.rh-success { background: #163c2d; border-color: #77cfa5; color: #b9ffd8; }
.rh-danger { background: #35212b; border-color: #d58296; color: #ffc0cf; }
.rh-icon-button { width: 42px; min-width: 42px; padding: 5px; font-size: 21px; }
.rehearsal-shell :is(a,button,input,select,[tabindex]):focus-visible, .rh-dialog :is(button,a):focus-visible { outline: 3px solid #f2ed7a; outline-offset: 3px; }
.rh-muted { color: #b8c0ce; font-size: 12px; }
.rh-kicker { display: block; color: #bfc8d8; font-size: 11px; font-weight: 750; text-transform: uppercase; margin-bottom: 3px; }
.rh-badge { padding: 4px 8px; border: 1px solid #606c7a; border-radius: 4px; color: #d1e9ef; font-size: 11px; font-weight: 800; white-space: nowrap; }
.rehearsal-cockpit { display: grid; grid-template-columns: minmax(280px, .8fr) minmax(0, 1.4fr); gap: 18px; scroll-margin-top: 130px; }
.rh-console, .rh-monitor { min-width: 0; border: 1px solid #4d5764; border-radius: 6px; background: #131820; padding: 16px; }
.rh-section-head { margin-bottom: 14px; align-items: flex-start; flex-wrap: wrap; }
.rh-form { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 10px; }
.rh-wide { grid-column: 1 / -1; }
.rh-queue { list-style: none; padding: 0; display: grid; gap: 0; max-height: 270px; overflow: auto; margin-top: 14px !important; }
.rh-queue li { display: flex; gap: 8px; align-items: center; border-top: 1px solid #384452; padding: 10px 0; }
.rh-queue-copy { flex: 1; min-width: 0; }
.rh-queue-copy strong, .rh-queue-copy span { display: block; overflow-wrap: anywhere; }
.rh-queue-copy span { font-size: 12px; color: #bdc7d3; }
.rh-queue-number { width: 40px; flex-shrink: 0; color: #89e8f1; font-size: 14px; font-weight: 800; }
.rh-queue-tools { display: flex; gap: 4px; }
.rh-current { padding-top: 14px; border-top: 1px solid #495360; margin-top: 10px; }
.rh-current :is(h3,p) { overflow-wrap: anywhere; }
.rh-current p { font-size: 12px; color: #bbc9d8; margin-top: 5px; }
.rh-preview { position: relative; aspect-ratio: 16 / 9; background: #000; overflow: hidden; }
.rh-preview img { width: 100%; height: 100%; object-fit: contain; }
.rh-preview figcaption { position: absolute; bottom: 0; left: 0; right: 0; background: #090c13; border-top: 1px solid #c0d87d; color: #f1f4ad; padding: 7px 10px; font-size: 12px; font-weight: 750; }
.rh-command-deck { padding-top: 14px; }
.rh-auction-strip { display: grid; grid-template-columns: minmax(0,1fr) 85px 125px; gap: 12px; padding-bottom: 14px; }
.rh-auction-strip strong { font-size: 15px; line-height: 1.4; display: block; overflow-wrap: anywhere; }
.rh-timer output { font-size: 25px; line-height: 1.15; color: #f5f49e; font-variant-numeric: tabular-nums; }
.rh-control-row { margin-bottom: 10px; }
.rh-practice-controls { display: flex; gap: 12px; align-items: flex-end; flex-wrap: wrap; }
.rh-practice-controls label { width: 115px; }
.rh-payment { margin-top: 12px; padding: 12px 0; border-block: 1px solid #8ab299; }
.rh-payment > strong, .rh-payment > span { display: block; }
.rh-payment > span { color: #c3d0c8; font-size: 12px; margin-bottom: 10px; }
.rh-bids { margin-top: 12px !important; list-style: none; padding: 0; max-height: 130px; overflow: auto; font-size: 12px; }
.rh-bids li { padding: 5px 0; border-top: 1px solid #384452; }
.rh-empty { color: #b9c4d2; font-size: 12px; padding: 10px 0; }
.rh-band { padding: 24px 0; border-bottom: 1px solid #3a4351; scroll-margin-top: 130px; }
.rh-inventory-form { display: grid; grid-template-columns: minmax(120px,1fr) minmax(160px,1.4fr) 75px minmax(120px,1fr) minmax(120px,1fr) auto; gap: 10px; align-items: end; margin-bottom: 18px; }
.rh-table-wrap { overflow-x: auto; border-top: 1px solid #444f5e; }
.rh-table { width: 100%; border-collapse: collapse; font-size: 13px; text-align: left; }
.rh-table th { font-size: 11px; color: #c0c9d7; background: #171e28; padding: 10px; white-space: nowrap; }
.rh-table td { padding: 12px 10px; border-bottom: 1px solid #313a48; vertical-align: middle; }
.rh-table td:first-child { min-width: 155px; max-width: 340px; overflow-wrap: anywhere; }
.rh-table td strong { display: block; }
.rh-table td small { display: block; color: #b1bdcc; }
.rh-table td:not(:first-child) { white-space: nowrap; }
.rh-giveaway-band { display: flex; align-items: flex-start; gap: 20px; flex-wrap: wrap; }
.rh-giveaway-form { flex: 1; }
.rh-giveaway-form label { min-width: 190px; flex: 1; }
.rh-giveaway-result { width: 100%; font-size: 13px; color: #cff1dd; overflow-wrap: anywhere; }
.rh-metrics { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 14px; margin-bottom: 18px !important; }
.rh-metrics div { padding-left: 12px; border-left: 3px solid #89e8f1; }
.rh-metrics div:nth-child(2) { border-color: #e4a5b6; }
.rh-metrics div:nth-child(3) { border-color: #a3dfba; }
.rh-metrics div:nth-child(4) { border-color: #d9d976; }
.rh-metrics dt { font-size: 12px; color: #c4ccda; }
.rh-metrics dd { font-size: 22px; font-weight: 800; margin: 4px 0 0; overflow-wrap: anywhere; }
.rh-checklist { list-style: none; padding: 0; display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 10px; }
.rh-checklist li { display: flex; gap: 8px; align-items: flex-start; font-size: 12px; color: #bcc5d2; }
.rh-checklist li[data-done="true"] { color: #aff1c8; }
.rh-checklist span { font-size: 16px; line-height: 1.1; }
.rh-results { list-style: none; padding: 0; margin-top: 16px !important; }
.rh-results li { padding: 8px 0; border-top: 1px solid #303c48; font-size: 12px; overflow-wrap: anywhere; }
.rh-dialog { color: #eff4fa; background: #171d27; border: 1px solid #8d9cae; border-radius: 6px; padding: 22px; width: min(490px,calc(100% - 28px)); max-height: 90dvh; }
.rh-dialog::backdrop { background: rgba(0,0,0,.8); }
.rh-dialog h2 { font-size: 20px; margin-top: 0; letter-spacing: 0; }
.rh-dialog p { margin-block: 12px 20px; }
.rh-dialog .rh-control-row { margin-bottom: 0; }
.rh-dialog-head { margin-bottom: 16px; }
.rh-label { border: 3px solid #000; padding: 16px; color: #000; background: #fff; margin-bottom: 18px; overflow-wrap: anywhere; }
.rh-label-void { display: block; font-size: 30px; font-weight: 900; line-height: 1.1; margin-bottom: 10px; }
.rh-label-warning { display: block; font-size: 15px; font-weight: 850; border-block: 2px solid #000; padding-block: 8px; }
.rh-label p { margin: 12px 0; font-size: 13px; }
.rh-print-only { display: none; }
@media (max-width: 1050px) {
  .rh-inventory-form { grid-template-columns: repeat(3,minmax(0,1fr)); }
  .rh-auction-strip { grid-template-columns: minmax(0,1fr) 78px 110px; gap: 8px; }
}
@media (max-width: 760px) {
  .rehearsal-shell h1 { font-size: 24px; }
  .rehearsal-heading { align-items: flex-start; }
  .rehearsal-disclosure { display: block; font-size: 12px; }
  .rehearsal-disclosure strong { display: block; margin-bottom: 4px; }
  .rehearsal-cockpit { grid-template-columns: minmax(0,1fr); }
  .rh-monitor { grid-row: 1; }
  .rh-auction-strip { grid-template-columns: minmax(0,1fr) 78px; }
  .rh-auction-strip > div:last-child { grid-column: 1 / -1; display: flex; align-items: center; gap: 12px; }
  .rh-auction-strip > div:last-child .rh-kicker { margin: 0; }
  .rh-inventory-form { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .rh-metrics, .rh-checklist { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .rh-preview figcaption { font-size: 10px; padding: 5px 8px; }
  .rehearsal-show-form { width: 100%; }
  .rehearsal-show-form label { flex: 1; min-width: 180px; }
}
@media (prefers-reduced-motion: reduce) {
  body[data-page="rehearsal"] *, body[data-page="rehearsal"] *::before, body[data-page="rehearsal"] *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
  html:has(body[data-page="rehearsal"]) { scroll-behavior: auto; }
}
@media print {
  body[data-page="rehearsal"] { background: #fff; min-width: 0; }
  body[data-page="rehearsal"] > * { display: none !important; }
  body[data-page="rehearsal"] > .rh-print-only { display: block !important; color: #000; width: 100%; }
  .rh-print-only .rh-label { width: 100%; max-width: 100mm; margin: 0; break-inside: avoid; }
  .rh-label-void { font-size: 28pt; }
}
