/* Compact lists. Screen, print and export use the same selected columns. */
.report-config { margin-bottom: 18px; border: 1px solid var(--line); border-radius: 12px; background: #fff; }
.report-presets { display: flex; align-items: center; flex-wrap: wrap; gap: 7px; padding: 12px 16px; border-bottom: 1px solid var(--line); }
.report-presets > span { margin-right: 5px; color: var(--muted); font-size: 11px; font-weight: 700; }
.report-presets button, .report-column-actions button { padding: 6px 11px; border: 1px solid #decddd; border-radius: 6px; background: #fcf8fc; color: var(--brand-dark); font: inherit; font-size: 12px; cursor: pointer; }
.report-presets button:hover, .report-column-actions button:hover { background: var(--brand-soft); border-color: var(--brand); }
.report-filters { display: grid; grid-template-columns: 1fr 1.2fr 1.3fr 1.2fr; align-items: end; gap: 12px; padding: 14px 16px; }
.report-filters .field { min-width: 0; margin: 0; }
.report-filters [hidden] { display: none !important; }
.report-filters .field > span { font-size: 11px; }
.report-filters select, .report-filters input { min-height: 39px; font-size: 12px; padding: 8px 10px; }
.report-option-bar { display: flex; align-items: flex-start; flex-wrap: wrap; gap: 8px 18px; padding: 10px 16px; border-top: 1px solid var(--line); }
.report-check { display: flex; align-items: center; gap: 7px; min-height: 32px; color: var(--ink); font-size: 12px; cursor: pointer; }
.report-check input { width: 15px; height: 15px; margin: 0; accent-color: var(--brand); flex-shrink: 0; }
.report-check input:disabled { cursor: default; }
.report-inline-field { display: flex; align-items: center; gap: 7px; min-height: 32px; font-size: 12px; color: var(--muted); }
.report-inline-field select { max-width: 145px; padding: 5px; min-height: 30px; font-size: 12px; border: 1px solid var(--line); border-radius: 5px; background: #fff; color: var(--ink); }
.report-option-bar details { position: relative; }
.report-option-bar summary { min-height: 32px; line-height: 32px; color: var(--brand-dark); font-size: 12px; font-weight: 650; cursor: pointer; }
.report-column-panel, .report-print-options > div { position: absolute; z-index: 10; top: 36px; right: 0; width: 340px; max-width: calc(100vw - 48px); padding: 14px; border: 1px solid var(--line); border-radius: 10px; background: #fff; box-shadow: 0 12px 30px #261b2926; }
.report-column-actions { display: flex; gap: 8px; margin-bottom: 9px; }
[data-report-columns] { display: grid; grid-template-columns: 1fr 1fr; gap: 2px 12px; max-height: 320px; overflow-y: auto; }
.report-print-options > div { width: 240px; }
.report-print-options .field { margin: 0 0 10px; }
.report-print-options .field:last-child { margin: 0; }
.report-reset { margin-left: auto; padding: 8px 0; border: 0; background: none; color: var(--muted); font: inherit; font-size: 12px; cursor: pointer; text-decoration: underline; }
.report-feedback:empty { display: none; }
.report-feedback { padding: 12px; margin-bottom: 15px; border-radius: 8px; background: var(--brand-soft); color: var(--brand-dark); }
#report-document { background: #fff; border: 1px solid var(--line); border-radius: 12px; padding: 18px 20px; }
.report-heading { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding-bottom: 12px; border-bottom: 2px solid var(--brand); }
.report-heading > div { display: flex; align-items: center; gap: 18px; min-width: 0; }
.report-heading img { width: 112px; height: 38px; object-fit: contain; flex-shrink: 0; }
.report-heading h2 { margin: 0 0 4px; font-size: 18px; }
.report-heading p { margin: 0; color: var(--muted); font-size: 11px; overflow-wrap: anywhere; }
.report-heading small { flex-shrink: 0; text-align: right; font-size: 10px; line-height: 1.6; color: var(--muted); }
.report-section { margin: 16px 0 0; }
.report-section-label { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; padding: 0 0 7px; }
.report-section-label h3 { margin: 0; font-size: 13px; font-weight: 750; color: var(--brand-dark); }
.report-section-label > span { font-size: 10px; color: var(--muted); flex-shrink: 0; }
.report-table-wrap { overflow-x: auto; border: 1px solid var(--line); border-radius: 6px; }
.report-table { width: 100%; border-collapse: collapse; table-layout: fixed; font-size: 12px; line-height: 1.4; }
.report-table th, .report-table td { text-align: left; padding: 6px 10px; vertical-align: top; overflow-wrap: anywhere; }
.report-table thead th { background: #f3edf3; color: #4f294e; font-size: 11px; border-bottom: 1px solid #e0d2df; }
.report-table td { border-bottom: 1px solid #eee8ee; }
.report-table tr:last-child td { border-bottom: 0; }
.report-table tr:nth-child(even) { background: #fcfafc; }
.report-table .report-number { text-align: right; font-variant-numeric: tabular-nums; }
.report-comfortable .report-table th, .report-comfortable .report-table td { padding-top: 11px; padding-bottom: 11px; }
.report-empty { padding: 20px !important; color: var(--muted); font-size: 12px; }
.report-subtotal { margin: 6px 0 0; font-size: 11px; font-weight: 750; text-align: right; line-height: 1.6; }
.report-note { margin: 14px 0 0; color: var(--muted); font-size: 10px; line-height: 1.5; }
@media (max-width: 1200px) {
  .report-controls.page-header { align-items: flex-start; flex-direction: column; gap: 14px; }
  .report-filters { grid-template-columns: 1fr 1fr; }
}
@media screen and (max-width: 600px) {
  html:has(body.report-view), body.report-view, body.report-view .app-shell, body.report-view .workspace, body.report-view #main-content { touch-action: pan-x pan-y; }
  .report-controls.page-header p { display: block; font-size: 12px; }
  .report-controls .page-actions { display: flex; flex-wrap: wrap; width: 100%; gap: 7px; }
  .report-controls .page-actions .button { width: auto; flex: 1 1 auto; min-height: 40px; height: auto; padding: 8px 10px; font-size: 11px; }
  .report-controls .page-actions .button svg { width: 16px; flex-shrink: 0; }
  .report-presets, .report-option-bar { padding: 10px 12px; }
  .report-presets > span { width: 100%; }
  .report-filters { grid-template-columns: minmax(0, 1fr); padding: 12px; gap: 10px; }
  .report-option-bar { gap: 6px 16px; }
  .report-option-bar details { position: static; }
  .report-option-bar { position: relative; }
  .report-column-panel, .report-print-options > div { left: 0; right: auto; top: 100%; width: 100%; max-width: 100%; }
  .report-heading { align-items: flex-start; gap: 8px; }
  .report-heading > div { display: block; }
  .report-heading img { width: 85px; height: 28px; margin-bottom: 6px; }
  .report-heading h2 { font-size: 16px; }
  .report-heading small { font-size: 9px; }
  #report-document { padding: 12px; }
  .report-section-label h3 { font-size: 12px; }
  .report-table { font-size: 11px; }
}
@page lumen-report-landscape {
  size: A4 landscape;
  margin: 10mm 10mm 14mm;
  @bottom-left { content: "Lúmen Internet Fibra"; font: 8pt Arial, sans-serif; color: #555; }
  @bottom-right { content: "Página " counter(page) " de " counter(pages); font: 8pt Arial, sans-serif; color: #555; }
}
@page lumen-report-portrait {
  size: A4 portrait;
  margin: 10mm 10mm 14mm;
  @bottom-left { content: "Lúmen Internet Fibra"; font: 8pt Arial, sans-serif; color: #555; }
  @bottom-right { content: "Página " counter(page) " de " counter(pages); font: 8pt Arial, sans-serif; color: #555; }
}
@media print {
  html:has(body.report-view) { background: #fff; overflow: visible; min-height: 0; }
  body.report-view, body.report-view .app-shell, body.report-view .workspace, body.report-view #main-content { display: block; width: auto; min-width: 0; max-width: none; min-height: 0; margin: 0; padding: 0; overflow: visible; background: #fff; }
  body.report-view .sidebar, body.report-view .topbar, body.report-view .mobile-nav, body.report-view .scrim, body.report-view .skip-link, body.report-view .toast-region, body.report-view dialog, body.report-view .report-controls { display: none !important; }
  #report-document.report-landscape { page: lumen-report-landscape; }
  #report-document.report-portrait { page: lumen-report-portrait; }
  #report-document { padding: 0; border: 0; border-radius: 0; color: #161616; font-family: Arial, sans-serif; print-color-adjust: exact; -webkit-print-color-adjust: exact; }
  .report-heading { break-inside: avoid; padding-bottom: 3mm; gap: 4mm; }
  .report-heading img { width: 27mm; height: 9mm; }
  .report-heading > div { gap: 5mm; }
  .report-heading h2 { font-size: 13pt; margin: 0 0 1mm; }
  .report-heading p, .report-heading small { font-size: 8pt; }
  .report-section { margin: 4mm 0 0; }
  .report-section-short { break-inside: avoid; page-break-inside: avoid; }
  .report-table tbody { break-before: avoid; page-break-before: avoid; }
  .report-section-label { break-after: avoid; page-break-after: avoid; padding-bottom: 1.5mm; }
  .report-section-label h3 { font-size: 9pt; }
  .report-section-label > span { font-size: 7pt; }
  .report-table-wrap { overflow: visible; border: 0; border-radius: 0; }
  .report-table { min-width: 0 !important; width: 100%; font-size: 8pt; line-height: 1.35; }
  .report-table th, .report-table td { padding: 1.5mm 2mm; }
  .report-table thead { display: table-header-group; break-after: avoid; }
  .report-table thead th { font-size: 7.5pt; }
  .report-table tr { break-inside: avoid; page-break-inside: avoid; }
  .report-comfortable .report-table th, .report-comfortable .report-table td { padding-top: 2.5mm; padding-bottom: 2.5mm; }
  .report-subtotal { font-size: 8pt; margin-top: 2mm; break-before: avoid; }
  .report-note { font-size: 7pt; margin-top: 3mm; }
}
