/* Post-mortem / reporting pages (Phase 3). Read-only surfaces — no inputs. */

.report-page .worksheet-hero { margin-bottom: 18px; }

.report-empty-note { display: flex; align-items: center; gap: 10px; margin-bottom: 18px; padding: 12px 16px; color: var(--muted); background: rgba(33, 45, 105, .06); border: 1px dashed rgba(33, 45, 105, .25); border-radius: var(--radius-md); font-size: 13px; }
.report-empty-note .material-symbols-rounded { color: var(--brand-navy); font-size: 20px; }

.report-summary-grid { grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)); }

.report-overrun-row td { background: var(--danger-bg); }
.report-line-note { display: block; margin-top: 2px; max-width: 3.4in; color: var(--muted); font-size: 11px; font-style: italic; }

.report-ledger-line { margin: 14px 2px 0; color: var(--muted); font-size: 13px; font-weight: 600; }

.report-footnote { margin: 22px 2px 40px; font-size: 12px; }

.report-actions { display: flex; gap: 8px; align-items: center; }

/* /reports filter toolbar */
.report-filters { flex-wrap: wrap; align-items: flex-end; gap: 10px; }
.report-filter { display: flex; flex-direction: column; gap: 4px; color: var(--muted); font-size: 11px; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; }
.report-filter select, .report-filter input { min-height: 36px; font-size: 13px; }
.report-register small { display: block; }
.reports-page .report-footnote { margin: 14px 2px 6px; }

/* Approved-price-governed revenue rows (worksheet page) */
.price-governed-hint { display: block; margin-top: 2px; color: var(--muted); font-size: 10px; }

/* Custom model entry on additional machines (new-worksheet form) */
.component-custom-model { grid-column: 1 / -1; margin-top: 4px; }
.component-custom-model summary { color: var(--brand-navy); font-size: 12px; font-weight: 600; cursor: pointer; }
.component-custom-model .form-grid { margin-top: 10px; }

/* QuickBooks actuals import */
.qb-upload-form { display: flex; flex-wrap: wrap; align-items: flex-end; gap: 14px; padding: 20px 26px 0; margin-bottom: 12px; }
.qb-file-field { display: flex; flex-direction: column; gap: 6px; color: var(--muted); font-size: 11px; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; }
.qb-file-field input { min-height: 42px; padding: 8px; }
.qb-import-note { max-width: 900px; padding: 0 26px 20px; font-size: 12px; }
/* Direct children of a register card supply their own padding (the card has
   none); the QB page's empty state and inline notices sat flush against the
   card edge without this. */
.qb-import-page .register-card > .muted:not(.qb-import-note) { padding: 18px 26px; margin: 0; }
.qb-job-card .register-head { align-items: flex-start; gap: 14px; }
.qb-map-field { display: flex; min-width: 320px; flex-direction: column; gap: 6px; color: var(--muted); font-size: 11px; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; }
.qb-map-field select { min-height: 40px; font-size: 13px; }
.qb-import-page .sticky-save { margin-top: 6px; }
.qb-alias-confirm { display: inline-flex; align-items: center; gap: 6px; color: var(--warning); font-size: 12px; font-weight: 600; white-space: nowrap; }

/* Print: force a light palette (the dark theme wastes toner and drops
   contrast on paper), hide all chrome, and keep table headers repeating
   across page breaks. Applies to the post-mortem and /reports pages; other
   pages keep their screen styles because these selectors are scoped. */
@media print {
    body, body.ops-contrast {
        background: #fff !important;
        color: #111 !important;
        --text: #111; --text-secondary: #333; --muted: #444;
        --panel: #fff; --panel-strong: #f3f4f6;
        --border: #cbd5e1; --border-muted: #d8dee7;
        --canvas-gradient: none;
    }
    .admin-sidebar, .admin-topbar, .sidebar-backdrop, .flash,
    .hero-actions, .back-link, .report-actions, .report-filters,
    .open-pill, .sticky-save, .dash-hero-art { display: none !important; }
    .admin-shell { display: block !important; }
    .admin-content { padding: 0 !important; }
    .card, .worksheet-section.card { border: 1px solid #d1d5db !important; box-shadow: none !important; background: #fff !important; }
    .summary-card, .summary-card.dark, .summary-card.accent { background: #fff !important; color: #111 !important; border: 1px solid #d1d5db !important; box-shadow: none !important; }
    .summary-card.dark *, .summary-card.accent * { color: #111 !important; }
    .report-summary-grid, .projected-metrics, #component-variance, #commission-variance { break-inside: avoid; }
    .data-table { font-size: 11px; }
    .data-table th { background: #f3f4f6 !important; color: #111 !important; }
    .data-table th, .data-table td { padding: 4px 8px; }
    .data-table thead { display: table-header-group; }
    .report-overrun-row td { background: #fee2e2 !important; }
    .table-wrap, .wide-table { overflow: visible !important; }
    a { color: inherit; text-decoration: none; }
}
