/* Modo exterior / modo noche — paridad legacy (#pgOps, #pgHome) → .pg-ops, .pg-ramp */

.ops-modo-wrap {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  margin-right: 6px;
}

.ops-modo-night {
  font-size: 14px;
  line-height: 1;
}

body.modo-exterior .ops-modo-ext.is-on {
  background: #FFEB3B !important;
  color: #0D47A1 !important;
  border-color: #FFEB3B !important;
  font-weight: 800 !important;
}

body.modo-noche .ops-modo-night.is-on {
  background: #5B9BD5 !important;
  color: #fff !important;
  border-color: #5B9BD5 !important;
}

/* Staff / Monitor / Devices — mismas medidas que .opslang / .staff-tb-btn (40px) */
.pg-staff .staff-tb .ops-modo-wrap,
.pg-devices .devices-tb .ops-modo-wrap,
[class*="pg-mon"] .monitor-tb .ops-modo-wrap {
  gap: 8px;
  margin-right: 0;
}

.pg-staff .staff-tb .ops-modo-btn,
.pg-devices .devices-tb .ops-modo-btn,
[class*="pg-mon"] .monitor-tb .ops-modo-btn {
  width: 40px;
  height: 40px;
  min-width: 40px;
  min-height: 40px;
  padding: 0;
  margin-right: 0;
  border-radius: 9px;
  background: rgba(255, 255, 255, .16);
  border: 1px solid rgba(255, 255, 255, .35);
  color: #fff;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  flex-shrink: 0;
}

.pg-staff .staff-tb .ops-modo-btn .icn,
.pg-devices .devices-tb .ops-modo-btn .icn,
[class*="pg-mon"] .monitor-tb .ops-modo-btn .icn {
  width: 18px;
  height: 18px;
}

/* —— Ops (Despacho, Recepción, Dirección, Combustible, Mantenimiento) —— */
body.modo-exterior .pg-ops {
  background: #FFF8E1 !important;
}

body.modo-exterior .pg-ops .tb {
  background: #0D47A1 !important;
}

body.modo-exterior .pg-ops .body {
  background: #FFF8E1 !important;
}

body.modo-exterior .pg-ops .opscard {
  background: #fff !important;
  border: 2px solid #333 !important;
}

body.modo-exterior .pg-ops .opsreg {
  background: #FFEB3B !important;
  color: #000 !important;
  border: 2px solid #000 !important;
  font-size: 16px !important;
}

body.modo-exterior .pg-ops .rec,
body.modo-exterior .pg-ops .opsfl {
  border: 2px solid #333 !important;
  background: #fff !important;
}

body.modo-exterior .pg-ops th,
body.modo-exterior .pg-ops table.rec-fit thead th,
body.modo-exterior .pg-ops .opstbl thead th {
  background: #FFE082 !important;
  color: #000 !important;
  font-weight: 800 !important;
  border-bottom: 2px solid #000 !important;
}

body.modo-exterior .pg-ops td,
body.modo-exterior .pg-ops table.rec-fit tbody td,
body.modo-exterior .pg-ops .opstbl tbody td {
  color: #000 !important;
  font-weight: 600 !important;
  border-bottom: 2px solid #E0C860 !important;
}

body.modo-exterior .pg-ops .lounge-sel,
body.modo-exterior .pg-ops .ramp-st-sel {
  border-width: 2px !important;
  font-weight: 800 !important;
  font-size: 12px !important;
}

body.modo-exterior .pg-ops .lounge-sel.s-parked,
body.modo-exterior .pg-ops .ramp-st-sel.s-parked {
  background: #42A5F5 !important;
  color: #fff !important;
  border-color: #1565C0 !important;
}

body.modo-exterior .pg-ops .lounge-sel.s-fuel,
body.modo-exterior .pg-ops .ramp-st-sel.s-fuel {
  background: #FFB300 !important;
  color: #000 !important;
  border-color: #E65100 !important;
}

body.modo-exterior .pg-ops .lounge-sel.s-ready,
body.modo-exterior .pg-ops .ramp-st-sel.s-ready {
  background: #00C853 !important;
  color: #000 !important;
  border-color: #1B5E20 !important;
}

body.modo-exterior .pg-ops .lounge-sel.s-maint,
body.modo-exterior .pg-ops .ramp-st-sel.s-maint {
  background: #FF1744 !important;
  color: #fff !important;
  border-color: #B71C1C !important;
}

body.modo-exterior .pg-ops .lounge-sel.s-catering,
body.modo-exterior .pg-ops .ramp-st-sel.s-catering {
  background: #AA00FF !important;
  color: #fff !important;
  border-color: #4A148C !important;
}

body.modo-exterior .pg-ops tr.row-parked td,
body.modo-exterior .pg-ops .rec-fit tbody tr:has(.lounge-sel.s-parked) td {
  background: rgba(66, 165, 245, .15) !important;
}

body.modo-exterior .pg-ops tr.row-fuel td,
body.modo-exterior .pg-ops .rec-fit tbody tr:has(.lounge-sel.s-fuel) td {
  background: rgba(255, 179, 0, .18) !important;
}

body.modo-exterior .pg-ops tr.row-ready td,
body.modo-exterior .pg-ops .rec-fit tbody tr:has(.lounge-sel.s-ready) td {
  background: rgba(0, 200, 83, .15) !important;
}

body.modo-exterior .pg-ops tr.row-maint td,
body.modo-exterior .pg-ops .rec-fit tbody tr:has(.lounge-sel.s-maint) td {
  background: rgba(255, 23, 68, .12) !important;
}

body.modo-exterior .pg-ops tr.row-catering td,
body.modo-exterior .pg-ops .rec-fit tbody tr:has(.lounge-sel.s-catering) td {
  background: rgba(170, 0, 255, .1) !important;
}

body.modo-noche .pg-ops {
  background: #0A0E14 !important;
}

body.modo-noche .pg-ops .tb {
  background: #060B12 !important;
  border-bottom: 1px solid rgba(255, 255, 255, .06) !important;
}

body.modo-noche .pg-ops .body {
  background: #0A0E14 !important;
  color: #fff !important;
}

body.modo-noche .pg-ops .opscard {
  background: rgba(255, 255, 255, .03) !important;
  border-color: rgba(255, 255, 255, .06) !important;
  color: #fff !important;
}

body.modo-noche .pg-ops .rec,
body.modo-noche .pg-ops .opsfl {
  background: rgba(255, 255, 255, .03) !important;
  border-color: rgba(255, 255, 255, .06) !important;
  color: #fff !important;
}

body.modo-noche .pg-ops .opsreg {
  background: rgba(91, 155, 213, .15) !important;
  color: #fff !important;
  border-color: rgba(91, 155, 213, .3) !important;
}

body.modo-noche .pg-ops th,
body.modo-noche .pg-ops table.rec-fit thead th,
body.modo-noche .pg-ops .opstbl thead th {
  background: rgba(255, 255, 255, .04) !important;
  color: rgba(255, 255, 255, .3) !important;
  border-color: rgba(255, 255, 255, .06) !important;
}

body.modo-noche .pg-ops td,
body.modo-noche .pg-ops table.rec-fit tbody td,
body.modo-noche .pg-ops .opstbl tbody td {
  color: rgba(255, 255, 255, .7) !important;
  border-color: rgba(255, 255, 255, .04) !important;
}

body.modo-noche .pg-ops .ops-welcome,
body.modo-noche .pg-ops #opsWelcome {
  color: #fff !important;
}

body.modo-noche .pg-ops .ops-welcome-saludo {
  color: rgba(255, 255, 255, .45) !important;
}

body.modo-noche .pg-ops .opstab {
  background: rgba(255, 255, 255, .06) !important;
  color: rgba(255, 255, 255, .4) !important;
  border-color: rgba(255, 255, 255, .08) !important;
}

body.modo-noche .pg-ops .opstab.on {
  background: #2E6CA4 !important;
  color: #fff !important;
  border-color: #2E6CA4 !important;
}

/* Recepcion — cuerpo de tabla (sin fondos inline; paridad legacy #pgOps td) */
body.modo-noche .pg-ops table.rec-fit tbody tr td {
  background: rgba(255, 255, 255, .03) !important;
}

body.modo-noche .pg-ops table.rec-fit tbody tr.rec-row-hoy td {
  background: rgba(91, 195, 82, .08) !important;
}

body.modo-noche .pg-ops table.rec-fit tbody tr.row-parked td,
body.modo-noche .pg-ops .rec-fit tbody tr:has(.lounge-sel.s-parked) td {
  background: rgba(91, 155, 213, .06) !important;
}

body.modo-noche .pg-ops table.rec-fit tbody tr.row-fuel td,
body.modo-noche .pg-ops .rec-fit tbody tr:has(.lounge-sel.s-fuel) td {
  background: rgba(245, 166, 35, .08) !important;
}

body.modo-noche .pg-ops table.rec-fit tbody tr.row-ready td,
body.modo-noche .pg-ops .rec-fit tbody tr:has(.lounge-sel.s-ready) td {
  background: rgba(91, 195, 82, .08) !important;
}

body.modo-noche .pg-ops table.rec-fit tbody tr.row-maint td,
body.modo-noche .pg-ops .rec-fit tbody tr:has(.lounge-sel.s-maint) td {
  background: rgba(224, 90, 76, .08) !important;
}

body.modo-noche .pg-ops table.rec-fit tbody tr.row-catering td,
body.modo-noche .pg-ops .rec-fit tbody tr:has(.lounge-sel.s-catering) td {
  background: rgba(155, 89, 182, .08) !important;
}

body.modo-noche .pg-ops table.rec-fit .rec-registry {
  color: #fff !important;
  background: rgba(91, 155, 213, .15) !important;
  border-color: rgba(91, 155, 213, .3) !important;
}

body.modo-noche .pg-ops .rec-date-cell,
body.modo-noche .pg-ops table.rec-fit .mono {
  color: rgba(255, 255, 255, .55) !important;
}

body.modo-noche .pg-ops .rec-origin-legend,
body.modo-noche .pg-ops .rec-origin-legend-title {
  color: rgba(255, 255, 255, .55) !important;
}

body.modo-noche .pg-ops .rec-loading {
  color: rgba(255, 255, 255, .5) !important;
}

body.modo-noche .pg-ops .rec-loading-spin {
  border-color: rgba(255, 255, 255, .12) !important;
  border-top-color: #5B9BD5 !important;
}

body.modo-noche .pg-ops .rec-track-fr24 {
  background: rgba(91, 155, 213, .12) !important;
  color: rgba(255, 255, 255, .9) !important;
  border-color: rgba(91, 155, 213, .3) !important;
}

body.modo-noche .pg-ops .rec-track-adsb {
  background: rgba(155, 89, 182, .12) !important;
  color: rgba(255, 255, 255, .9) !important;
  border-color: rgba(155, 89, 182, .3) !important;
}

body.modo-noche .pg-ops .rec-track-fr24:hover {
  background: rgba(91, 155, 213, .2) !important;
}

body.modo-noche .pg-ops .rec-track-adsb:hover {
  background: rgba(155, 89, 182, .2) !important;
}

/* —— Rampa (legacy #pgHome) —— */
body.modo-exterior .pg-ramp {
  background: #FFF8E1 !important;
}

body.modo-exterior .pg-ramp .body {
  background: #FFF8E1 !important;
}

body.modo-exterior .pg-ramp .tb {
  background: #0D47A1 !important;
}

body.modo-exterior .pg-ramp .ramp-rec {
  border: 2px solid #333 !important;
  background: #fff !important;
}

body.modo-exterior .pg-ramp .hcard {
  border: 2px solid #333 !important;
}

body.modo-exterior .pg-ramp .lounge-sel,
body.modo-exterior .pg-ramp .ramp-st-sel {
  border-width: 2px !important;
  font-weight: 800 !important;
}

body.modo-exterior .pg-ramp .lounge-sel.s-parked,
body.modo-exterior .pg-ramp .ramp-st-sel.s-parked {
  background: #42A5F5 !important;
  color: #fff !important;
  border-color: #1565C0 !important;
}

body.modo-exterior .pg-ramp .lounge-sel.s-fuel,
body.modo-exterior .pg-ramp .ramp-st-sel.s-fuel {
  background: #FFB300 !important;
  color: #000 !important;
  border-color: #E65100 !important;
}

body.modo-exterior .pg-ramp .lounge-sel.s-ready,
body.modo-exterior .pg-ramp .ramp-st-sel.s-ready {
  background: #00C853 !important;
  color: #000 !important;
  border-color: #1B5E20 !important;
}

body.modo-exterior .pg-ramp .lounge-sel.s-maint,
body.modo-exterior .pg-ramp .ramp-st-sel.s-maint {
  background: #FF1744 !important;
  color: #fff !important;
  border-color: #B71C1C !important;
}

body.modo-exterior .pg-ramp .lounge-sel.s-catering,
body.modo-exterior .pg-ramp .ramp-st-sel.s-catering {
  background: #AA00FF !important;
  color: #fff !important;
  border-color: #4A148C !important;
}

body.modo-noche .pg-ramp {
  background: #0A0E14 !important;
}

body.modo-noche .pg-ramp .body {
  background: #0A0E14 !important;
  color: #fff !important;
}

body.modo-noche .pg-ramp .tb {
  background: #060B12 !important;
  border-bottom: 1px solid rgba(255, 255, 255, .06) !important;
}

body.modo-noche .pg-ramp .ramp-rec {
  background: rgba(255, 255, 255, .03) !important;
  border-color: rgba(255, 255, 255, .06) !important;
  color: #fff !important;
}

body.modo-noche .pg-ramp .hcard {
  background: rgba(255, 255, 255, .04) !important;
  border-color: rgba(255, 255, 255, .06) !important;
  color: #fff !important;
}

body.modo-noche .pg-ramp .hcard.pri {
  background: rgba(91, 155, 213, .15) !important;
  border-color: rgba(91, 155, 213, .2) !important;
}

/* Matricula (.ramp-plate) — paridad legacy body.modo-noche #pgHome .plate */
body.modo-noche .pg-ramp .ramp-plate {
  background: rgba(91, 155, 213, .15) !important;
  color: #fff !important;
  border-color: rgba(91, 155, 213, .3) !important;
}

body.modo-noche .pg-ramp .ramp-plate.muted {
  background: rgba(136, 146, 164, .45) !important;
  color: rgba(255, 255, 255, .92) !important;
  border-color: rgba(136, 146, 164, .5) !important;
}

body.modo-noche .pg-ramp .ramp-plate.hist-in {
  background: #6BA8DC !important;
  color: #fff !important;
  border: none !important;
}

body.modo-noche .pg-ramp .ramp-plate.hist-out {
  background: rgba(136, 146, 164, .55) !important;
  color: #fff !important;
  border: none !important;
}

body.modo-noche .pg-ramp .ramp-rec.pending {
  background: rgba(91, 155, 213, .08) !important;
  border-color: rgba(91, 155, 213, .35) !important;
}

body.modo-noche .pg-ramp .ramp-sh {
  color: rgba(255, 255, 255, .5) !important;
}

body.modo-noche .pg-ramp .ramp-sh.sky {
  color: rgba(91, 155, 213, .85) !important;
}

body.modo-exterior .pg-ramp .ramp-plate {
  background: #FFEB3B !important;
  color: #000 !important;
  border: 2px solid #000 !important;
}

/* Staff / Monitor / catálogos (misma barra superior) */
body.modo-noche .pg-staff .body,
body.modo-noche .pg-devices .body,
body.modo-noche [class*="pg-mon"] .body,
body.modo-noche [class*="pg-mon"] .monitor-body {
  background: #0A0E14 !important;
  color: rgba(255, 255, 255, .85) !important;
}

body.modo-noche .pg-staff .tb,
body.modo-noche .pg-devices .tb,
body.modo-noche [class*="pg-mon"] .tb,
body.modo-noche [class*="pg-mon"] .monitor-tb {
  background: #060B12 !important;
}

body.modo-exterior .pg-staff .body,
body.modo-exterior .pg-devices .body,
body.modo-exterior [class*="pg-mon"] .body,
body.modo-exterior [class*="pg-mon"] .monitor-body {
  background: #FFF8E1 !important;
}

body.modo-exterior .pg-staff .tb,
body.modo-exterior .pg-devices .tb,
body.modo-exterior [class*="pg-mon"] .tb,
body.modo-exterior [class*="pg-mon"] .monitor-tb {
  background: #0D47A1 !important;
}

/* Monitor (hub + subvistas) — tarjetas y paneles en modo noche / exterior */
body.modo-noche [class*="pg-mon"] .monitor-intro,
body.modo-noche [class*="pg-mon"] .mon-meta,
body.modo-noche [class*="pg-mon"] .mon-kpi-hint,
body.modo-noche [class*="pg-mon"] .mon-kpi-lbl,
body.modo-noche [class*="pg-mon"] .mon-section-ti,
body.modo-noche [class*="pg-mon"] .monitor-loading,
body.modo-noche [class*="pg-mon"] .mon-empty,
body.modo-noche [class*="pg-mon"] .statempty,
body.modo-noche [class*="pg-mon"] .statbar-name,
body.modo-noche [class*="pg-mon"] .statkpi .lbl,
body.modo-noche [class*="pg-mon"] .auto-hero-sub,
body.modo-noche [class*="pg-mon"] .auto-card-desc,
body.modo-noche [class*="pg-mon"] .auto-card-sched,
body.modo-noche [class*="pg-mon"] .auto-lbl,
body.modo-noche [class*="pg-mon"] .pnl-kpi-lbl,
body.modo-noche [class*="pg-mon"] .pnl-kpi-sub,
body.modo-noche [class*="pg-mon"] .pnl-hero-sub,
body.modo-noche [class*="pg-mon"] .bill-detail-title,
body.modo-noche [class*="pg-mon"] .bill-footnote,
body.modo-noche [class*="pg-mon"] .bill-kpi-label {
  color: rgba(255, 255, 255, .45) !important;
}

body.modo-noche [class*="pg-mon"] .mon-card,
body.modo-noche [class*="pg-mon"] .mon-kpi,
body.modo-noche [class*="pg-mon"] .monhub-card:not(.featured),
body.modo-noche [class*="pg-mon"] .mon-icon-btn,
body.modo-noche [class*="pg-mon"] .bill-nav,
body.modo-noche [class*="pg-mon"] .bill-card,
body.modo-noche [class*="pg-mon"] .bill-kpi-box,
body.modo-noche [class*="pg-mon"] .bill-total-bar,
body.modo-noche [class*="pg-mon"] .bill-tab:not(.on),
body.modo-noche [class*="pg-mon"] .pnl-kpi,
body.modo-noche [class*="pg-mon"] .pnl-chart,
body.modo-noche [class*="pg-mon"] .pnl-tbl-wrap,
body.modo-noche [class*="pg-mon"] .statkpi,
body.modo-noche [class*="pg-mon"] .statcard,
body.modo-noche [class*="pg-mon"] .statseg:not(.on),
body.modo-noche [class*="pg-mon"] .auto-card,
body.modo-noche [class*="pg-mon"] .auto-add {
  background: rgba(255, 255, 255, .03) !important;
  border-color: rgba(255, 255, 255, .08) !important;
  box-shadow: none !important;
}

body.modo-noche [class*="pg-mon"] .mon-kpi-val,
body.modo-noche [class*="pg-mon"] .monhub-t:not(.featured),
body.modo-noche [class*="pg-mon"] .monhub-card:not(.featured) .monhub-t,
body.modo-noche [class*="pg-mon"] .bill-name,
body.modo-noche [class*="pg-mon"] .bill-kpi-num,
body.modo-noche [class*="pg-mon"] .pnl-kpi-val,
body.modo-noche [class*="pg-mon"] .bill-month,
body.modo-noche [class*="pg-mon"] .statttl,
body.modo-noche [class*="pg-mon"] .statkpi .num,
body.modo-noche [class*="pg-mon"] .auto-hero-ti,
body.modo-noche [class*="pg-mon"] .auto-card-title-row h3,
body.modo-noche [class*="pg-mon"] .pnl-hero-ti {
  color: rgba(255, 255, 255, .92) !important;
}

body.modo-noche [class*="pg-mon"] .monhub-card:not(.featured) .monhub-s {
  color: rgba(255, 255, 255, .55) !important;
}

body.modo-noche [class*="pg-mon"] .bill-detail-table th,
body.modo-noche [class*="pg-mon"] .bill-detail-table td,
body.modo-noche [class*="pg-mon"] .pnl-tbl th,
body.modo-noche [class*="pg-mon"] .pnl-tbl td,
body.modo-noche [class*="pg-mon"] .bill-card-bd {
  border-color: rgba(255, 255, 255, .06) !important;
  color: rgba(255, 255, 255, .75) !important;
}

body.modo-noche [class*="pg-mon"] .bill-reg {
  background: rgba(91, 155, 213, .15) !important;
  color: #93c5fd !important;
}

body.modo-noche [class*="pg-mon"] .mon-icon-btn .icn {
  stroke: rgba(255, 255, 255, .7) !important;
}

body.modo-noche [class*="pg-mon"] .mon-action-btn,
body.modo-noche [class*="pg-mon"] .auto-in,
body.modo-noche [class*="pg-mon"] .auto-ta,
body.modo-noche [class*="pg-mon"] .auto-sel {
  background: rgba(255, 255, 255, .06) !important;
  border-color: rgba(255, 255, 255, .12) !important;
  color: rgba(255, 255, 255, .85) !important;
}

body.modo-noche [class*="pg-mon"] .statbar-track {
  background: rgba(255, 255, 255, .08) !important;
}

body.modo-exterior [class*="pg-mon"] .mon-card,
body.modo-exterior [class*="pg-mon"] .mon-kpi,
body.modo-exterior [class*="pg-mon"] .monhub-card:not(.featured),
body.modo-exterior [class*="pg-mon"] .bill-card,
body.modo-exterior [class*="pg-mon"] .pnl-kpi,
body.modo-exterior [class*="pg-mon"] .pnl-chart,
body.modo-exterior [class*="pg-mon"] .statkpi,
body.modo-exterior [class*="pg-mon"] .statcard,
body.modo-exterior [class*="pg-mon"] .auto-card {
  border: 2px solid #333 !important;
  box-shadow: none !important;
}

body.modo-exterior [class*="pg-mon"] .bill-reg {
  background: #FFEB3B !important;
  color: #000 !important;
  border: 2px solid #000 !important;
}

/* —— Despacho (tarjetas, leyendas, barra) —— */
body.modo-noche .pg-ops .opsfl:hover {
  border-color: rgba(91, 155, 213, .35) !important;
  box-shadow: 0 2px 12px rgba(0, 0, 0, .35) !important;
}

body.modo-noche .pg-ops .opsflop,
body.modo-noche .pg-ops .desp-legend-label {
  color: rgba(255, 255, 255, .92) !important;
}

body.modo-noche .pg-ops .opsflsub,
body.modo-noche .pg-ops .desp-card-meta,
body.modo-noche .pg-ops .opsbar,
body.modo-noche .pg-ops .desp-catalog-links {
  color: rgba(255, 255, 255, .55) !important;
}

body.modo-noche .pg-ops .desp-legend {
  background: rgba(255, 255, 255, .04) !important;
  border: 1px solid rgba(255, 255, 255, .08) !important;
  color: rgba(255, 255, 255, .65) !important;
}

body.modo-noche .pg-ops .desp-loading {
  background: rgba(255, 255, 255, .03) !important;
  border-color: rgba(255, 255, 255, .08) !important;
  color: rgba(255, 255, 255, .5) !important;
}

body.modo-noche .pg-ops .opsbtn2,
body.modo-noche .pg-ops .desp-live-btn {
  background: rgba(255, 255, 255, .06) !important;
  border-color: rgba(255, 255, 255, .12) !important;
  color: rgba(255, 255, 255, .85) !important;
}

body.modo-noche .pg-ops .opsbtn2:hover,
body.modo-noche .pg-ops .desp-live-btn:hover {
  background: rgba(91, 155, 213, .15) !important;
  color: #fff !important;
}

body.modo-noche .pg-ops select.ops-sort,
body.modo-noche .pg-ops select.opsin.ops-select,
body.modo-noche .pg-ops .opsin {
  background-color: rgba(255, 255, 255, .06) !important;
  border-color: rgba(255, 255, 255, .12) !important;
  color: rgba(255, 255, 255, .85) !important;
}

body.modo-noche .pg-ops .desp-card-right {
  border-top-color: rgba(255, 255, 255, .08) !important;
}

body.modo-noche .pg-ops .desp-right-incomplete {
  color: #F5A623 !important;
}

/* —— Catálogos Ops/Aeropuerto y Ops/TipoAeronave —— */
body.modo-noche .pg-ops .opscard.cat-card,
body.modo-noche .pg-ops .opscard.ops-empty {
  background: rgba(255, 255, 255, .03) !important;
  border-color: rgba(255, 255, 255, .06) !important;
}

body.modo-noche .pg-ops .cat-card-t,
body.modo-noche .pg-ops .cat-col-v,
body.modo-noche .pg-ops .cat-modal-t {
  color: rgba(255, 255, 255, .92) !important;
}

body.modo-noche .pg-ops .cat-card-s,
body.modo-noche .pg-ops .cat-col-l {
  color: rgba(255, 255, 255, .55) !important;
}

body.modo-noche .pg-ops .cat-bar.opsbar {
  color: rgba(255, 255, 255, .55) !important;
}

body.modo-noche .pg-ops .opsf > label:not(.opscb) {
  color: rgba(255, 255, 255, .45) !important;
}

body.modo-noche .pg-ops .opsin:focus {
  background-color: rgba(255, 255, 255, .08) !important;
}

body.modo-noche .pg-ops .cat-modal {
  background: #121820 !important;
  border: 1px solid rgba(255, 255, 255, .08) !important;
  box-shadow: 0 20px 60px rgba(0, 0, 0, .55) !important;
}

body.modo-noche .pg-ops .cat-btn-del {
  color: #F87171 !important;
}

body.modo-noche .pg-ops .opsnote-warn {
  background: rgba(245, 166, 35, .12) !important;
  color: #F5C26B !important;
}

body.modo-noche .pg-ops .ops-airport-list {
  background: #121820 !important;
  border-color: rgba(255, 255, 255, .12) !important;
  box-shadow: 0 8px 24px rgba(0, 0, 0, .45) !important;
}

body.modo-noche .pg-ops .ops-airport-item {
  color: rgba(255, 255, 255, .85) !important;
}

body.modo-noche .pg-ops .ops-airport-item:hover,
body.modo-noche .pg-ops .ops-airport-item:focus {
  background: rgba(91, 155, 213, .15) !important;
}

body.modo-noche .pg-ops .ops-airport-empty {
  color: rgba(255, 255, 255, .45) !important;
}

/* —— Dirección tablero (pensionados + detalle vuelo) —— */
body.modo-noche .pg-ops .dir-panel-card,
body.modo-noche .pg-ops .opscard.dir-board-flight {
  background: rgba(255, 255, 255, .03) !important;
  border-color: rgba(255, 255, 255, .06) !important;
  box-shadow: none !important;
}

body.modo-noche .pg-ops .dir-panel-title {
  color: rgba(255, 255, 255, .5) !important;
  border-bottom-color: rgba(255, 255, 255, .06) !important;
}

body.modo-noche .pg-ops .dir-pens-summary .split {
  background: rgba(255, 255, 255, .12) !important;
}

body.modo-noche .pg-ops .dir-pens-summary > div:not(.split):first-child > div:first-child {
  color: #5B9BD5 !important;
}

body.modo-noche .pg-ops .dir-pens-summary > div:not(.split):last-child > div:first-child {
  color: #5BC352 !important;
}

body.modo-noche .pg-ops .dir-pens-summary > div:not(.split) > div:last-child {
  color: rgba(255, 255, 255, .45) !important;
}

body.modo-noche .pg-ops .dir-pens-tbl th {
  background: rgba(255, 255, 255, .04) !important;
  color: rgba(255, 255, 255, .45) !important;
  border-bottom-color: rgba(255, 255, 255, .06) !important;
}

body.modo-noche .pg-ops .dir-pens-tbl td {
  color: rgba(255, 255, 255, .7) !important;
  border-bottom-color: rgba(255, 255, 255, .04) !important;
  background: transparent !important;
}

body.modo-noche .pg-ops .dir-pens-tbl tbody tr:hover td {
  background: rgba(255, 255, 255, .04) !important;
}

/* Paneles superiores del tablero */
body.modo-noche .pg-ops .dir-period-bar {
  background: rgba(255, 255, 255, .04) !important;
  border-color: rgba(255, 255, 255, .08) !important;
}

body.modo-noche .pg-ops .dir-period-btn {
  color: rgba(255, 255, 255, .55) !important;
}

body.modo-noche .pg-ops .dir-bar-lbl,
body.modo-noche .pg-ops .dir-bar-type + .dir-bar-count,
body.modo-noche .pg-ops .dir-routes-col h4 {
  color: rgba(255, 255, 255, .55) !important;
}

body.modo-noche .pg-ops .dir-bar-track {
  background: rgba(255, 255, 255, .06) !important;
}

body.modo-noche .pg-ops .dir-bar-row:hover,
body.modo-noche .pg-ops .dir-route-line:hover,
body.modo-noche .pg-ops .dir-pay-legend-legacy > div:hover,
body.modo-noche .pg-ops .dir-retention-meta > div:hover {
  background: rgba(255, 255, 255, .04) !important;
}

body.modo-noche .pg-ops .dir-route-line {
  color: rgba(255, 255, 255, .65) !important;
}

body.modo-noche .pg-ops .dir-pay-donut-inner,
body.modo-noche .pg-ops .dir-retention-donut-inner {
  background: #121820 !important;
  box-shadow: 0 0 0 2px #121820 !important;
}

body.modo-noche .pg-ops .dir-pay-donut-pct,
body.modo-noche .pg-ops .dir-retention-donut-inner {
  color: rgba(255, 255, 255, .92) !important;
}

body.modo-noche .pg-ops .dir-pay-donut-cap {
  color: rgba(255, 255, 255, .45) !important;
}

body.modo-noche .pg-ops .dir-pay-legend-legacy,
body.modo-noche .pg-ops .dir-retention-meta,
body.modo-noche .pg-ops .dir-retention-meta > div {
  color: rgba(255, 255, 255, .55) !important;
}

body.modo-noche .pg-ops .dir-retention-meta b {
  color: rgba(255, 255, 255, .85) !important;
}

body.modo-noche .pg-ops .dir-resumen-grid > div {
  background: rgba(255, 255, 255, .03) !important;
}

body.modo-noche .pg-ops .dir-resumen-grid > div:hover {
  background: rgba(255, 255, 255, .05) !important;
  box-shadow: none !important;
}

body.modo-noche .pg-ops .dir-resumen-grid .lbl {
  color: rgba(255, 255, 255, .45) !important;
}

body.modo-noche .pg-ops .opsalerts {
  background: rgba(255, 255, 255, .03) !important;
  border-color: rgba(255, 255, 255, .06) !important;
}

body.modo-noche .pg-ops .opsalerts-h {
  color: rgba(255, 255, 255, .85) !important;
}

body.modo-noche .pg-ops .dir-alerts {
  background: rgba(255, 255, 255, .03) !important;
  border-color: rgba(255, 255, 255, .06) !important;
}

body.modo-noche .pg-ops .dir-alerts-hd {
  color: rgba(255, 255, 255, .5) !important;
}

body.modo-noche .pg-ops .dir-alert-row {
  border-bottom-color: rgba(255, 255, 255, .06) !important;
  color: rgba(255, 255, 255, .7) !important;
}

body.modo-noche .pg-ops .dir-hours-axis span,
body.modo-noche .pg-ops .dir-hours-peak {
  color: rgba(255, 255, 255, .45) !important;
}

body.modo-noche .pg-ops .opsbtn2.dir-qbo-export-btn,
body.modo-noche .pg-ops .dir-qbo-export-btn {
  background: #0D6B3D !important;
  border: none !important;
  color: #fff !important;
}

body.modo-noche .pg-ops .opsbtn2.dir-qbo-export-btn:hover,
body.modo-noche .pg-ops .dir-qbo-export-btn:hover {
  background: #0a5a33 !important;
  color: #fff !important;
}

body.modo-noche .pg-ops .dir-tbl-hd {
  background: rgba(255, 255, 255, .03) !important;
  border-bottom-color: rgba(255, 255, 255, .06) !important;
}

body.modo-noche .pg-ops .dir-tbl-hd h3 {
  color: rgba(255, 255, 255, .92) !important;
}

body.modo-noche .pg-ops .dir-tbl-hd span {
  color: rgba(255, 255, 255, .45) !important;
}

/* tr.flag-* en dia llevan fondo claro; hay que anularlo en noche */
body.modo-noche .pg-ops .dir-tbl tbody tr,
body.modo-noche .pg-ops .dir-tbl tbody tr.flag-red,
body.modo-noche .pg-ops .dir-tbl tbody tr.flag-amber,
body.modo-noche .pg-ops .dir-tbl tbody tr.flag-ramp {
  background: transparent !important;
}

body.modo-noche .pg-ops .dir-tbl tbody tr td {
  background: #0d1219 !important;
  border-bottom-color: rgba(255, 255, 255, .04) !important;
  color: rgba(255, 255, 255, .75) !important;
}

body.modo-noche .pg-ops .dir-tbl tbody tr:not(.flag-red):not(.flag-amber):not(.flag-ramp):nth-child(even) td {
  background: #131921 !important;
}

body.modo-noche .pg-ops .dir-tbl tbody tr.flag-red td {
  background: #2a1818 !important;
}

body.modo-noche .pg-ops .dir-tbl tbody tr.flag-amber td {
  background: #2a2418 !important;
}

body.modo-noche .pg-ops .dir-tbl tbody tr.flag-ramp td {
  background: #2a1c18 !important;
}

body.modo-noche .pg-ops .dir-tbl tbody tr:hover td {
  background: #1a2230 !important;
}

body.modo-noche .pg-ops .dir-board-flight .opstbl thead th {
  box-shadow: 0 1px 0 rgba(255, 255, 255, .06) !important;
}

body.modo-noche .pg-ops .dir-tbl td.mono div[style*="color:#8892A4"],
body.modo-noche .pg-ops .dir-tbl td.mono {
  color: rgba(255, 255, 255, .55) !important;
}

body.modo-noche .pg-ops .dir-tbl td.num.soft {
  color: rgba(255, 255, 255, .45) !important;
}

body.modo-noche .pg-ops .dir-tbl .opsst.in {
  background: rgba(31, 157, 107, .22) !important;
  color: #6ee7a8 !important;
}

body.modo-noche .pg-ops .dir-tbl .opsst.dmg {
  background: rgba(224, 90, 76, .2) !important;
  color: #f0a090 !important;
}

body.modo-noche .pg-ops .dir-tbl .opsdp.dp-op {
  background: rgba(91, 155, 213, .18) !important;
  color: rgba(255, 255, 255, .85) !important;
}

body.modo-noche .pg-ops .dir-tbl .opsdp.dp-cl {
  background: rgba(255, 255, 255, .08) !important;
  color: rgba(255, 255, 255, .55) !important;
}

body.modo-noche .pg-ops .dir-tbl .opsdp.dp-pp {
  background: rgba(245, 166, 35, .22) !important;
  color: #f5c26b !important;
}

body.modo-noche .pg-ops .dir-tbl .opscat.nat {
  background: rgba(31, 157, 107, .18) !important;
  color: #6ee7a8 !important;
}

body.modo-noche .pg-ops .dir-tbl .opscat.for {
  background: rgba(255, 255, 255, .06) !important;
  color: rgba(255, 255, 255, .55) !important;
}

body.modo-noche .pg-ops .dir-tbl .srcpill.desp {
  background: rgba(91, 155, 213, .15) !important;
  color: rgba(255, 255, 255, .85) !important;
}

body.modo-noche .pg-ops .dir-tbl .srcpill.ramp {
  background: rgba(199, 82, 46, .15) !important;
  color: rgba(255, 255, 255, .85) !important;
}

body.modo-noche .pg-ops .dir-tbl .opscat {
  background: rgba(255, 255, 255, .06) !important;
  color: rgba(255, 255, 255, .55) !important;
  border-color: rgba(255, 255, 255, .08) !important;
}

body.modo-noche .pg-ops .dir-tbl .opsst.out {
  background: rgba(255, 255, 255, .06) !important;
  color: rgba(255, 255, 255, .5) !important;
}

body.modo-noche .pg-ops .dir-kpi-strip {
  background: rgba(255, 255, 255, .06) !important;
}

body.modo-noche .pg-ops .dir-kpi-cell {
  background: rgba(255, 255, 255, .03) !important;
}

body.modo-noche .pg-ops .dir-kpi-cell:hover {
  background: rgba(255, 255, 255, .05) !important;
}

body.modo-noche .pg-ops .dir-kpi-k {
  color: rgba(255, 255, 255, .45) !important;
}

body.modo-noche .pg-ops .dir-kpi-v {
  color: rgba(255, 255, 255, .92) !important;
}

body.modo-noche .pg-ops .dir-kpi-v.pos {
  color: #34d399 !important;
}

body.modo-noche .pg-ops .dir-kpi-v.neg {
  color: #f87171 !important;
}

body.modo-noche .pg-ops .dir-kpi-v .dir-trend-up {
  color: #34d399 !important;
}

body.modo-noche .pg-ops .dir-kpi-v .dir-trend-dn {
  color: #f87171 !important;
}

body.modo-noche .pg-ops .dir-kpi-cell:has(.dir-kpi-v.neg) .dir-kpi-d {
  color: #f87171 !important;
}

body.modo-noche .pg-ops .dir-kpi-d {
  color: rgba(255, 255, 255, .45) !important;
}

body.modo-exterior .pg-ops .desp-legend {
  background: #fff !important;
  border: 2px solid #333 !important;
  color: #000 !important;
}

body.modo-exterior .pg-ops .desp-legend-label {
  color: #000 !important;
}

/* —— Administrador General —— */
body.modo-exterior .pg-admin-global {
  background: #FFF8E1 !important;
}

body.modo-exterior .pg-admin-global .admin-tb {
  background: #0D47A1 !important;
}

body.modo-exterior .pg-admin-global .admin-body {
  background: #FFF8E1 !important;
}

body.modo-exterior .pg-admin-global .ag-fbo,
body.modo-exterior .pg-admin-global .ag-form,
body.modo-exterior .pg-admin-global .ag-action {
  background: #fff !important;
  border: 2px solid #333 !important;
  color: #000 !important;
}

body.modo-exterior .pg-admin-global .ag-fbo-icao,
body.modo-exterior .pg-admin-global .ag-form-title,
body.modo-exterior .pg-admin-global .ag-action-title {
  color: #000 !important;
}

body.modo-exterior .pg-admin-global .ag-fbo-city,
body.modo-exterior .pg-admin-global .ag-form-sub,
body.modo-exterior .pg-admin-global .ag-action-sub,
body.modo-exterior .pg-admin-global .ag-section-label {
  color: #333 !important;
}

body.modo-noche .pg-admin-global {
  background: #0a1220 !important;
}

body.modo-noche .pg-admin-global .admin-tb {
  background: #0d2137 !important;
}

body.modo-noche .pg-admin-global .admin-body {
  background: #0a1220 !important;
  color: rgba(255, 255, 255, .88);
}

body.modo-noche .pg-admin-global .ag-hero {
  background: linear-gradient(135deg, #0d2137, #1a3a5c) !important;
}

body.modo-noche .pg-admin-global .ag-fbo,
body.modo-noche .pg-admin-global .ag-form,
body.modo-noche .pg-admin-global .ag-action {
  background: #121c2e !important;
  border-color: rgba(255, 255, 255, .12) !important;
  color: rgba(255, 255, 255, .9) !important;
}

body.modo-noche .pg-admin-global .ag-fbo-icao,
body.modo-noche .pg-admin-global .ag-form-title,
body.modo-noche .pg-admin-global .ag-action-title,
body.modo-noche .pg-admin-global .ag-field > label {
  color: rgba(255, 255, 255, .92) !important;
}

body.modo-noche .pg-admin-global .ag-deptlbl {
  color: rgba(255, 255, 255, .55) !important;
}

body.modo-noche .pg-admin-global .ag-check {
  color: rgba(255, 255, 255, .9) !important;
}

body.modo-noche .pg-admin-global .ag-fbo-city,
body.modo-noche .pg-admin-global .ag-fbo-meta,
body.modo-noche .pg-admin-global .ag-form-sub,
body.modo-noche .pg-admin-global .ag-action-sub,
body.modo-noche .pg-admin-global .ag-section-label {
  color: rgba(255, 255, 255, .55) !important;
}

body.modo-noche .pg-admin-global .ag-field input[type="text"],
body.modo-noche .pg-admin-global .ag-field select.ag-select {
  background: #0a1220 !important;
  border-color: rgba(255, 255, 255, .2) !important;
  color: rgba(255, 255, 255, .9) !important;
}

body.modo-noche .pg-admin-global .bill-card,
body.modo-noche .pg-admin-global .bill-nav,
body.modo-noche .pg-admin-global .bill-kpi-box,
body.modo-noche .pg-admin-global .bill-total-bar,
body.modo-noche .pg-admin-global .bill-tab:not(.on) {
  background: #121c2e !important;
  border-color: rgba(255, 255, 255, .12) !important;
  color: rgba(255, 255, 255, .88) !important;
}

body.modo-noche .pg-admin-global .bill-name,
body.modo-noche .pg-admin-global .bill-kpi-num,
body.modo-noche .pg-admin-global .bill-month {
  color: rgba(255, 255, 255, .92) !important;
}

body.modo-noche .pg-admin-global .bill-kpi-label,
body.modo-noche .pg-admin-global .bill-footnote {
  color: rgba(255, 255, 255, .5) !important;
}

body.modo-exterior .pg-admin-global .bill-card,
body.modo-exterior .pg-admin-global .bill-nav,
body.modo-exterior .pg-admin-global .bill-kpi-box {
  border: 2px solid #333 !important;
  background: #fff !important;
}
