.relevo-history-page { min-width: 0; }
.history-nav { display: flex; gap: 8px; padding: 10px 3%; color: #fff; background: var(--color-institucional-principal); }
.history-nav a { padding: 8px 10px; color: #fff; text-decoration: none; font-size: 13px; font-weight: 800; }
.history-nav a:hover, .history-nav a.active { color: #e7d19b; background: rgba(255,255,255,.08); }
.history-shell { width: 95%; max-width: 1840px; min-width: 0; margin: 0 auto; padding: 26px 0 48px; display: grid; gap: 18px; }
.history-heading { display: flex; align-items: center; justify-content: space-between; gap: 18px; }
.history-heading span:first-child, .detail-dialog header span { color: var(--color-institucional-secundario); font-size: 11px; font-weight: 900; letter-spacing: .1em; text-transform: uppercase; }
.history-heading h2 { margin: 4px 0; color: var(--color-institucional-principal); font-size: 30px; }
.history-heading p { margin: 0; color: var(--color-texto-secundario); }
.history-profile { padding: 8px 12px; border: 1px solid #c9d8e5; border-radius: 999px; color: var(--color-institucional-principal); background: #edf4fa; font-size: 12px; font-weight: 800; }
.operator-gate, .filter-panel, .history-results { min-width: 0; padding: 18px; border: 1px solid var(--color-borde); border-radius: var(--radio-tarjeta); background: #fff; box-shadow: var(--sombra-suave); }
.operator-gate label { display: block; margin-bottom: 7px; font-weight: 800; }
.operator-gate > div { display: flex; gap: 9px; }
.operator-gate input { flex: 1; }
.operator-gate p { margin: 8px 0 0; color: var(--color-texto-secundario); font-size: 12px; }
.filter-panel summary { cursor: pointer; color: var(--color-institucional-principal); font-weight: 900; }
.filter-grid { display: grid; grid-template-columns: 1.4fr repeat(6, minmax(120px, 1fr)); gap: 12px; align-items: end; padding-top: 16px; }
.filter-grid label { min-width: 0; display: grid; gap: 6px; color: #344054; font-size: 12px; font-weight: 800; }
.filter-grid input, .filter-grid select { width: 100%; }
.filter-grid button { align-self: end; }
.results-summary { display: flex; justify-content: space-between; gap: 16px; margin-bottom: 12px; color: var(--color-texto-secundario); font-size: 13px; }
.results-summary strong { color: var(--color-institucional-principal); }
.history-table-wrap { max-width: 100%; overflow-x: auto; }
.history-table-wrap table { min-width: 1050px; }
.history-table-wrap th { white-space: nowrap; }
.history-table-wrap td { font-size: 13px; }
.history-actions { display: flex; gap: 6px; flex-wrap: wrap; }
.history-actions button { min-height: 36px; padding: 7px 10px; font-size: 12px; }
.condition-badge { display: inline-flex; padding: 4px 8px; border-radius: 999px; font-size: 11px; font-weight: 900; }
.condition-badge.good { color: #17583f; background: #e3f5ec; }
.condition-badge.alert { color: #842029; background: #fbe7e9; }
.history-cards { display: none; gap: 10px; }
.history-card { padding: 15px; border: 1px solid var(--color-borde); border-radius: var(--radio-tarjeta); display: grid; gap: 9px; }
.history-card header { display: flex; justify-content: space-between; gap: 10px; }
.history-card dl { margin: 0; display: grid; grid-template-columns: auto 1fr; gap: 5px 10px; font-size: 13px; }
.history-card dt { color: var(--color-texto-secundario); font-weight: 800; }
.history-card dd { margin: 0; }
.history-empty { padding: 44px 16px; text-align: center; }
.history-empty h3 { margin: 0; color: var(--color-institucional-principal); }
.history-empty p { color: var(--color-texto-secundario); }
.history-empty a { display: inline-flex; padding: 10px 14px; color: #fff; background: var(--color-institucional-secundario); text-decoration: none; }
.detail-overlay { position: fixed; inset: 0; z-index: 80; padding: 24px; overflow: auto; background: rgba(7,23,39,.58); }
.detail-overlay[hidden] { display: none; }
.detail-dialog { width: min(1120px, 100%); margin: 0 auto; overflow: hidden; border-radius: 16px; background: #fff; box-shadow: 0 24px 70px rgba(0,0,0,.3); }
.detail-dialog > header, .detail-dialog > footer { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 18px 22px; border-bottom: 1px solid var(--color-borde); }
.detail-dialog > footer { justify-content: flex-end; border-top: 1px solid var(--color-borde); border-bottom: 0; }
.detail-dialog h2 { margin: 3px 0 0; color: var(--color-institucional-principal); }
#detailBody { padding: 22px; display: grid; gap: 18px; }
.detail-section { padding: 16px; border: 1px solid var(--color-borde); border-radius: 12px; }
.detail-section h3 { margin: 0 0 12px; color: var(--color-institucional-principal); font-size: 17px; }
.detail-grid { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 12px; }
.detail-field { min-width: 0; display: grid; gap: 3px; }
.detail-field small { color: var(--color-texto-secundario); font-weight: 800; }
.detail-equipment-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; }
.detail-equipment { padding: 14px; border-left: 3px solid var(--color-institucional-secundario); background: #f7f9fb; }
.detail-equipment h4 { margin: 0 0 9px; }
.detail-equipment dl { margin: 0; display: grid; grid-template-columns: auto 1fr; gap: 5px 10px; font-size: 12px; }
.detail-equipment dt { color: var(--color-texto-secundario); font-weight: 800; }
.detail-equipment dd { margin: 0; overflow-wrap: anywhere; }
.photo-grid { display: grid; grid-template-columns: repeat(auto-fill,minmax(150px,1fr)); gap: 10px; }
.photo-grid img { width: 100%; height: 130px; object-fit: cover; border-radius: 9px; }
.detail-metrics { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 10px; }
.detail-metrics div { padding: 12px; border-radius: 10px; background: #edf4fa; }
.detail-metrics strong { display: block; color: var(--color-institucional-principal); font-size: 24px; }
.print-view { display: none; }
@media (max-width: 1100px) { .filter-grid { grid-template-columns: repeat(3,minmax(0,1fr)); } }
@media (max-width: 640px) {
  .history-nav { padding: 7px 10px; overflow-x: auto; flex-wrap: nowrap; }
  .history-nav a { flex: none; min-height: 40px; display: inline-flex; align-items: center; }
  .history-shell { width: calc(100% - 20px); padding: 16px 0 28px; }
  .history-heading { align-items: flex-start; flex-direction: column; }
  .history-heading h2 { font-size: 25px; }
  .operator-gate > div, .filter-grid { display: grid; grid-template-columns: 1fr; }
  .history-table-wrap { display: none; }
  .history-cards { display: grid; }
  .detail-overlay { padding: 0; }
  .detail-dialog { min-height: 100vh; border-radius: 0; }
  .detail-dialog > header { align-items: flex-start; }
  #detailBody { padding: 14px; }
  .detail-grid, .detail-equipment-grid, .detail-metrics { grid-template-columns: 1fr; }
  .detail-dialog > footer { display: grid; grid-template-columns: 1fr; }
  .detail-dialog > footer button { width: 100%; }
}
/* Modificaciones para cumplir con el diseño institucional oficial */
@media print {
  @page { size: A4 portrait; margin: 6mm 8mm; }
  * { -webkit-print-color-adjust: exact !important; print-color-adjust: exact !important; }
  .no-print, .detail-overlay, .institutional-header { display: none !important; }
  html, body { background: #fff !important; }
  .print-view { display: block !important; color: #071827; font: 10pt Arial, sans-serif; background: #fff !important; }
  .print-document { width: 190mm; max-width: 100%; margin: 0 auto; padding-bottom: 11mm; position: relative; background: #fff; min-height: 100vh; }
  /* Corrección del pie institucional: eliminar espacios alrededor del punto y usar el texto exacto */
  .print-document::after { content: "SERVICIO NACIONAL AERONAVAL"; position: absolute; left: 0; right: 0; bottom: 0; padding: 3mm 0; color: #fff; border-top: 1mm solid #b8860b; background: #0a2238; text-align: center; font-size: 8pt; font-weight: 900; letter-spacing: .08em; }
  .print-icon { width: 5mm; height: 5mm; object-fit: contain; }
  .print-document-header { display: grid; grid-template-columns: 68px 1fr 68px; align-items: start; gap: 12px; padding: 1mm 0 5mm; border-bottom: .7mm solid #b8860b; }
  .print-logo { width: 62px; height: 62px; object-fit: contain; }
  .print-title-block { text-align: center; }
  .print-title-block small { display: block; max-width: 92mm; margin: 0 auto; color: #0a2238; font-size: 13pt; line-height: 1.05; font-weight: 900; letter-spacing: .03em; }
  .print-title-block h1 { margin: 2mm 0 6mm; color: #b8860b; font-size: 28pt; letter-spacing: .035em; line-height: 1; }
  .print-title-block dl { margin: 0; display: grid; grid-template-columns: repeat(3, 1fr); gap: 7mm; font-size: 7.8pt; text-align: left; }
  .print-meta-card { min-height: 10mm; padding: .5mm 2mm .5mm 9mm; border: 0; border-radius: 0; position: relative; background: transparent; box-shadow: none; }
  .print-meta-card + .print-meta-card { border-left: 1px solid #e1e8ef; }
  .print-meta-icon { width: 6mm; height: 6mm; position: absolute; left: 1mm; top: 1mm; display: block; padding: 1mm; border: .35mm solid #0a2238; border-radius: 2mm; background: #fff; }
  .print-title-block dt { color: #071827; font-size: 7pt; font-weight: 900; text-transform: uppercase; }
  .print-title-block dd { margin: 1mm 0 0; color: #071827; font-weight: 900; }
  .print-section { margin-top: 3mm; overflow: hidden; border: 1px solid #d4dde6; border-radius: 7px; break-inside: auto; box-shadow: 0 1px 3px rgba(10,34,56,.12); background: #fff; }
  .print-section h2, .print-signatures h2 { margin: 0; padding: 1.8mm 4mm; display: flex; align-items: center; gap: 2mm; color: #fff; background: #0a2238; border-left: 0; font-size: 11pt; line-height: 1.1; text-transform: uppercase; letter-spacing: .03em; }
  .print-section h2 .print-icon, .print-signatures h2 .print-icon { filter: brightness(0) invert(1); }
  .print-executive-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 2mm 5mm; padding: 3mm; }
  .print-executive-card { padding: .5mm 0 .5mm 8mm; border: 0; border-radius: 0; min-height: 7mm; position: relative; background: #fff; box-shadow: none; }
  .print-executive-card .print-icon { position: absolute; left: .5mm; top: 1mm; }
  .print-executive-card span { display: inline-block; min-width: 33mm; color: #071827; font-size: 8.5pt; font-weight: 900; }
  .print-executive-card strong { display: block; margin-top: 2px; color: #172331; font-size: 9.5pt; }
  .print-equipment-table, .print-equipment-table th, .print-equipment-table td { box-sizing: border-box; }
  .print-equipment-table { width: 100%; min-width: 0 !important; border-collapse: collapse; table-layout: fixed; }
  .print-equipment-table th, .print-equipment-table td { padding: 2mm 1.6mm; border: 1px solid #d8e0e7; vertical-align: middle; font-size: 8pt; overflow-wrap: anywhere; }
    /* Cambio 3: Centrar todos los encabezados de tabla */
    .print-equipment-table th { color: #071827; background: #fff; font-size: 7.4pt; font-weight: 900; text-align: center; vertical-align: middle; }
    .print-equipment-table th:nth-child(1), .print-equipment-table td:nth-child(1) { width: 6%; text-align: center; }
    .print-equipment-table th:nth-child(2), .print-equipment-table td:nth-child(2) { width: 12%; text-align: center; }
  .print-equipment-table th:nth-child(3), .print-equipment-table td:nth-child(3) { width: 16%; }
  .print-equipment-table th:nth-child(4), .print-equipment-table td:nth-child(4) { width: 16%; }
    .print-equipment-table th:nth-child(5), .print-equipment-table td:nth-child(5) { width: 18%; }
    .print-equipment-table th:nth-child(6), .print-equipment-table td:nth-child(6) { width: 20%; }
  .print-equipment-table th:nth-child(7), .print-equipment-table td:nth-child(7) { width: 12%; }
    /* Cambio 4: Redistribución cuando se omite Categoría administrativa */
    .print-equipment-table.no-categoria th:nth-child(3), .print-equipment-table.no-categoria td:nth-child(3) { width: 22%; }
    .print-equipment-table.no-categoria th:nth-child(4), .print-equipment-table.no-categoria td:nth-child(4) { width: 22%; }
    .print-equipment-table.no-categoria th:nth-child(5), .print-equipment-table.no-categoria td:nth-child(5) { width: 26%; }
    .print-equipment-table.no-categoria th:nth-child(6), .print-equipment-table.no-categoria td:nth-child(6) { width: 18%; }

  thead { display: table-header-group; }
  tfoot { display: table-footer-group; }
  .print-equipment-row { break-inside: avoid; page-break-inside: avoid; }
    .print-equipment-row td { padding: 1.6mm 1.2mm; }
  .print-equipment-table td:nth-child(1) { color: #fff; background: #0a2238; font-weight: 900; }
    .print-equipment-image { width: 11mm; height: 14mm; display: block; margin: 0 auto; object-fit: contain; }
    /* Cambio 5: Chip de condición centrado con espacio */
    .print-condition-chip { display: inline-block; padding: 1.2mm 2.5mm; border: 0; border-radius: 0; color: #071827; background: transparent; font-size: 7pt; font-weight: 900; white-space: nowrap; text-align: center; margin: 0 auto; }
  .print-condition-chip.alert { border: 0; color: #9f1f17; background: transparent; font-weight: 900; }
    .print-evidence-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 2mm; padding: 2mm; }
  .print-evidence-item { break-inside: avoid; page-break-inside: avoid; margin: 0; padding: 0; border: 0; text-align: center; }
    .print-evidence-photo { width: 100%; height: 20mm; object-fit: contain; border-radius: 5px; background: #f5f7f9; }
    .print-evidence-item figcaption { margin-top: 1mm; font-size: 7.5pt; color: #071827; font-weight: 800; }
.print-evidence-empty { padding: 8mm 4mm; text-align: center; color: #667286; font-size: 8pt; font-style: italic; }
    /* Cambio 6: Tarjetas de firma con separación y espacio para firmar */
    .print-signatures { break-inside: avoid; page-break-inside: avoid; margin-top: 2mm; display: grid; grid-template-columns: repeat(2, 1fr); gap: 2mm; overflow: hidden; border: 1px solid #d4dde6; border-radius: 7px; box-shadow: 0 1px 3px rgba(10,34,56,.12); }
  .print-signatures h2 { grid-column: 1 / -1; }
    .print-signatures > div { min-height: 30mm; margin: 0 2mm 2mm; padding: 3.5mm; display: grid; align-content: end; gap: 1.5mm; border: 1px solid #c8d3dc; border-radius: 8px; text-align: center; }
  .print-signatures > div:nth-child(2) { border-color: #d6b55a; }
    .print-signatures > div::before { content: ""; width: 56mm; max-width: 72%; height: 0.5mm; margin: 0 auto 3mm; background: #071827; }
    .print-signatures span { color: #071827; font-weight: 900; text-transform: uppercase; font-size: 7.5pt; }
  .print-signatures strong, .print-signatures small { display: block; }
    .print-signatures strong { font-size: 8.5pt; }
    .print-signatures small { font-size: 7pt; }
    /* Cambio 1: Documento Oficial con icono SVG en lugar de ::before falso */
    .print-official-block { break-inside: avoid; page-break-inside: avoid; min-height: 12mm; margin-top: 2mm; padding: 2.5mm 4mm 2.5mm 14mm; border: 1px solid #c8d3dc; border-radius: 8px; position: relative; background: #fff; display: flex; align-items: center; gap: 3mm; }
    .print-official-block .print-official-icon { flex: none; width: 6.5mm; height: 6.5mm; object-fit: contain; }
    .print-official-block .print-official-text { flex: 1; }
    .print-official-block strong { display: block; margin-bottom: 0.5mm; color: #0a2238; font-size: 8pt; letter-spacing: .03em; }
    .print-official-block p { margin: 0.4mm 0; color: #344054; font-size: 7pt; line-height: 1.2; }
}

