.room-report { max-width: 1080px; margin: auto; padding: 36px 24px 64px; color: #17251f; font: 1rem/1.55 Arial, sans-serif; }
.room-report h1 { font: 700 clamp(2rem,4vw,3rem)/1.15 Georgia,serif; margin: 12px 0 20px; }
.room-report h2 { font: 700 1.5rem/1.3 Georgia,serif; margin: 0 0 16px; }
.report-actions { display: flex; flex-wrap: wrap; gap: 12px; margin: 24px 0; }
.report-actions button { min-height: 44px; padding: 12px 18px; font: 700 1rem/1.4 Arial,sans-serif; background: #193c32; color: #fff; border: 1px solid #193c32; cursor: pointer; }
.report-actions button:disabled { opacity: .5; cursor: not-allowed; }
.report-actions:not(:has(button:not([hidden]))) { display: none; }
.report-empty { margin: 24px 0; max-width: 72ch; }
.report-empty h2 { font: 700 1.25rem/1.4 Arial,sans-serif; margin-bottom: 12px; }
.report-start { display: inline-block; box-sizing: border-box; max-width: 100%; margin: 8px 0 20px; padding: 14px 20px; background: #193c32; color: #fff; font-weight: 700; text-decoration: none; text-align: center; }
.report-start:hover { background: #102c24; }
.report-steps { padding-left: 24px; margin: 0 0 24px; }
.report-steps li { padding-left: 4px; margin: 12px 0; }
.report-device-note { border-top: 1px solid #aebdb4; padding-top: 20px; }
.room-report [hidden] { display: none !important; }
.room-report :focus-visible { outline: 3px solid #bf4d26; outline-offset: 4px; }
.report-status, .report-warning { padding: 14px 18px; background: #fff4e7; border-left: 4px solid #a34924; }
.report-section { margin-top: 32px; border-top: 1px solid #aebdb4; padding-top: 24px; }
.report-section p, .report-help, .report-intro { max-width: 85ch; }
.report-section ul { padding-left: 24px; }
.report-section li { margin: 7px 0; }
.report-table { width: 100%; table-layout: fixed; border-collapse: collapse; margin: 16px 0; font-size: .9375rem; }
.report-table caption { text-align: left; font-weight: 700; margin: 8px 0; }
.report-table th, .report-table td { border-bottom: 1px solid #cdd5d0; padding: 9px; text-align: left; vertical-align: top; overflow-wrap: anywhere; }
.report-table th { background: #edf1ee; }
.report-table thead { display: table-header-group; }
.report-footer { border-top: 1px solid #aebdb4; margin-top: 32px; padding-top: 20px; font-size: .875rem; }
@media(max-width:600px) { .room-report { padding: 24px 16px 48px; } .report-table th,.report-table td { padding: 7px 4px; } .report-start { width: 100%; } }
@media print {
  @page { size: A4; margin: 14mm; }
  .site-header, .report-actions, .report-help, .report-intro, .eyebrow { display: none !important; }
  .report-empty .report-start, .report-empty .report-steps { display: none !important; }
  body { background: #fff !important; }
  .room-report { padding: 0; max-width: none; color: #000; font-size: 11pt; line-height: 1.4; }
  .room-report h1 { font-size: 22pt; }
  .room-report h2 { font-size: 15pt; break-after: avoid; }
  .report-section { margin-top: 18pt; padding-top: 12pt; }
  .report-table { font-size: 10pt; }
  .report-table th,.report-table td { padding: 5pt; }
  .report-table tr { break-inside: avoid; }
  .report-warning, .report-status { background: none; border: 1px solid #777; border-left: 3px solid #000; padding: 8pt; }
  .report-footer { font-size: 9pt; }
}
