:root {
  color-scheme: light;
  --bg: #eef3f1;
  --surface: rgba(255, 255, 255, .94);
  --ink: #17211d;
  --muted: #5f6f68;
  --line: #d5dfda;
  --brand: #087f5b;
  --brand-dark: #055a41;
  --accent: #d8f3e8;
  --success-ink: #07543d;
  --danger: #a61e2d;
  --danger-bg: #fff0f1;
  --header: #10251e;
  --header-text: #dff7ee;
  --field-bg: #ffffff;
  --field-border: #b8c8c0;
  --soft-bg: #e5ece9;
  --secondary-bg: #e7efeb;
  --secondary-ink: #17211d;
  --info-bg: #e7f5ff;
  --info-ink: #174c6a;
  --completed-bg: #f7e6e8;
  --completed-ink: #842d38;
  --completed-accent: #b85b66;
  --paused-bg: #fff3cd;
  --paused-ink: #71510a;
  --paused-accent: #c98b12;
  --signal-rgb: 8, 127, 91;
  --shadow: 0 16px 40px rgba(18, 45, 34, .08);
}
[data-theme="dark"] {
  color-scheme: dark;
  --bg: #0d1512;
  --surface: rgba(22, 33, 29, .94);
  --ink: #edf7f2;
  --muted: #afc1b9;
  --line: #33463e;
  --brand: #43d7a6;
  --brand-dark: #73e4bd;
  --accent: #143f32;
  --success-ink: #a4f3d4;
  --danger: #ff919c;
  --danger-bg: #421d23;
  --header: #07100d;
  --header-text: #dff7ee;
  --field-bg: #101a16;
  --field-border: #52685f;
  --soft-bg: #24332d;
  --secondary-bg: #293b34;
  --secondary-ink: #edf7f2;
  --info-bg: #163245;
  --info-ink: #b9e6ff;
  --completed-bg: #3b2227;
  --completed-ink: #ffc1c7;
  --completed-accent: #d87984;
  --paused-bg: #433711;
  --paused-ink: #ffe29a;
  --paused-accent: #d7a632;
  --signal-rgb: 67, 215, 166;
  --shadow: 0 16px 40px rgba(0, 0, 0, .26);
}
* { box-sizing: border-box; }
body { margin: 0; background: var(--bg); color: var(--ink); font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; line-height: 1.55; }
/* Disuasión de copias casuales. Los campos de búsqueda conservan su uso normal. */
body.content-guard { -webkit-user-select: none; user-select: none; -webkit-touch-callout: none; }
body.content-guard input, body.content-guard textarea, body.content-guard select { -webkit-user-select: text; user-select: text; -webkit-touch-callout: default; }
body.content-guard img, body.content-guard canvas { -webkit-user-drag: none; user-drag: none; pointer-events: none; }
.radio-background { position: fixed; inset: 0; z-index: 0; overflow: hidden; pointer-events: none; background: var(--bg); }
.radio-ring { position: absolute; right: 8vw; bottom: 3vh; width: 28vmin; height: 28vmin; border: 1px solid rgba(var(--signal-rgb), .18); border-radius: 50%; opacity: 0; transform: translate(50%, 50%) scale(.12); animation: radio-wave 24s linear infinite; }
.radio-ring:nth-child(2) { animation-delay: -6s; }
.radio-ring:nth-child(3) { animation-delay: -12s; }
.radio-ring:nth-child(4) { animation-delay: -18s; }
.radio-ring:nth-child(5) { animation-delay: -3s; }
.radio-mast { position: absolute; right: 8vw; bottom: 3vh; width: 2px; height: 24vh; background: rgba(var(--signal-rgb), .11); }
.radio-mast::before { content: ""; position: absolute; left: -26px; top: 30%; width: 54px; height: 2px; background: rgba(var(--signal-rgb), .09); }
.radio-mast::after { content: ""; position: absolute; left: -14px; top: 15%; width: 30px; height: 30px; border-left: 1px solid rgba(var(--signal-rgb), .10); border-top: 1px solid rgba(var(--signal-rgb), .10); transform: rotate(45deg); }
@keyframes radio-wave {
  0% { transform: translate(50%, 50%) scale(.12); opacity: 0; }
  12% { opacity: .65; }
  72%, 100% { transform: translate(50%, 50%) scale(5.4); opacity: 0; }
}
[data-motion="paused"] .radio-ring { animation-play-state: paused; }
a { color: var(--brand-dark); }
.container { width: min(1120px, calc(100% - 32px)); margin: 0 auto; }
.site-header { position: relative; z-index: 1; background: var(--header); color: white; border-bottom: 4px solid #14b886; }
/* Las tres páginas públicas comparten la misma geometría de cabecera.
   El logotipo y el menú se anclan siempre a los márgenes del viewport. */
.site-header .header-inner { width: 100%; max-width: none; min-height: 88px; padding: 0 32px; display: flex; align-items: center; justify-content: space-between; gap: clamp(16px, 2vw, 28px); }
.brand { display: inline-flex; align-items: center; flex: 0 0 auto; color: white; text-decoration: none; }
.brand-logo { display: block; width: clamp(205px, 23vw, 252px); height: auto; }
.brand:focus-visible { outline: 3px solid rgba(115, 228, 189, .55); outline-offset: 5px; border-radius: 6px; }
.header-actions { display: flex; flex: 1 1 auto; min-width: 0; align-items: center; justify-content: flex-end; gap: clamp(12px, 1.4vw, 18px); }
.download-counter { display: inline-flex; align-items: center; gap: 12px; min-width: 216px; padding: 9px 14px; border: 1px solid #35594c; border-radius: 999px; background: rgba(255, 255, 255, .035); color: var(--header-text); }
.download-counter-icon { display: grid; width: 30px; height: 30px; flex: 0 0 auto; place-items: center; border-radius: 50%; background: rgba(115, 228, 189, .14); color: #73e4bd; }
.download-counter-icon svg { width: 18px; height: 18px; }
.download-counter-copy { display: grid; min-width: 0; gap: 2px; }
.download-counter-label { font-size: .69rem; font-weight: 800; letter-spacing: .07em; line-height: 1.1; text-transform: uppercase; opacity: .84; }
.download-counter-value { color: #73e4bd; font-size: 1.46rem; font-variant-numeric: tabular-nums; line-height: 1; letter-spacing: -.035em; }
.download-counter-band { position: relative; z-index: 1; padding: 16px 0 2px; }
.download-counter-band-inner { display: flex; justify-content: flex-end; }
.download-counter-band .download-counter { min-width: 250px; border-color: #e3a33a; background: linear-gradient(135deg, #fff7e6, #fffdf8); box-shadow: 0 12px 28px rgba(154, 96, 16, .15); color: #483315; }
.download-counter-band .download-counter-icon { width: 38px; height: 38px; background: #f7e0ad; color: #a96308; box-shadow: inset 0 0 0 1px rgba(169, 99, 8, .13); }
.download-counter-band .download-counter-icon svg { width: 22px; height: 22px; }
.download-counter-band .download-counter-label { color: #725121; opacity: 1; }
.download-counter-band .download-counter-value { color: #ab6206; font-size: 1.72rem; }
[data-theme="dark"] .download-counter-band .download-counter { border-color: #b97820; background: linear-gradient(135deg, #302313, #221b12); box-shadow: 0 12px 28px rgba(0, 0, 0, .24); color: #ffecc7; }
[data-theme="dark"] .download-counter-band .download-counter-icon { background: #513611; color: #ffd27f; box-shadow: inset 0 0 0 1px rgba(255, 210, 127, .18); }
[data-theme="dark"] .download-counter-band .download-counter-label { color: #f5d9a2; }
[data-theme="dark"] .download-counter-band .download-counter-value { color: #ffd27f; }
.site-header nav { display: flex; flex: 0 1 auto; align-items: center; justify-content: flex-end; gap: clamp(7px, 1.25vw, 16px); flex-wrap: nowrap; min-width: 0; }
nav a { color: var(--header-text); text-decoration: none; font-size: .94rem; }
.nav-button { display: inline-flex; align-items: center; justify-content: center; min-height: 36px; border: 1px solid transparent; border-radius: 999px; padding: 7px 13px; font-size: .82rem; font-weight: 800; white-space: nowrap; transition: border-color .16s ease-out, background-color .16s ease-out, color .16s ease-out, transform .16s ease-out; }
.nav-button:active { transform: scale(.97); }
.nav-button.nav-diplomas { border-color: #3d8d73; background: rgba(20, 184, 134, .07); color: #b8f0d7; }
.nav-button.nav-diplomas:hover, .nav-button.nav-diplomas:focus-visible, .nav-button.nav-diplomas.active { border-color: #73e4bd; background: #164536; color: #ecfff8; }
.nav-button.nav-eqsl { border-color: #b86626; background: rgba(245, 138, 31, .09); color: #ffd0a0; }
.nav-button.nav-eqsl:hover, .nav-button.nav-eqsl:focus-visible, .nav-button.nav-eqsl.active { border-color: #ffb45c; background: #713a13; color: #fff1db; }
.nav-button.nav-onair { border-color: #2baee0; background: #0b4774; color: #eaf8ff; }
.nav-button.nav-onair:hover, .nav-button.nav-onair:focus-visible, .nav-button.nav-onair.active { border-color: #8be1fb; background: #087fbc; color: white; }
.nav-button.nav-onair::before { content: ""; width: .56rem; height: .56rem; margin-right: 7px; border-radius: 50%; background: #72e6ff; box-shadow: 0 0 0 0 rgba(114, 230, 255, 0); opacity: .5; }
.nav-button.nav-onair { position: relative; }
.nav-button.nav-onair.has-new-announcements { border-color: #ffe08a; box-shadow: inset 0 0 0 1px rgba(255, 224, 138, .35); }
.announcement-new-badge { display: inline-flex; align-items: center; justify-content: center; min-height: 17px; margin-left: 7px; padding: 2px 5px; border: 1px solid #ffe7a8; border-radius: 999px; background: #fff5c8; color: #6e4c00; font-size: .58rem; font-weight: 900; letter-spacing: .055em; line-height: 1; text-transform: uppercase; }
.nav-button.nav-onair.has-new-announcements:hover .announcement-new-badge, .nav-button.nav-onair.has-new-announcements:focus-visible .announcement-new-badge { background: #fffbe9; color: #5c3e00; }
.nav-button.nav-repeaters { border-color: #8d6dbe; background: rgba(124, 58, 237, .12); color: #eadcff; }
.nav-button.nav-repeaters:hover, .nav-button.nav-repeaters:focus-visible, .nav-button.nav-repeaters.active { border-color: #d4bbff; background: #51268a; color: #fff; }
/* El botón mantiene su azul On-Air. Solo el piloto alterna verde-rojo para
   distinguir una actividad real de un enlace normal sin crear una alerta invasiva. */
.nav-button.nav-onair.has-live-activity::before { opacity: 1; animation: onair-activity-signal 1.1s steps(1, end) infinite; }
@keyframes onair-activity-signal { 0%, 49.99% { background: #23cf63; box-shadow: 0 0 0 3px rgba(35, 207, 99, .22), 0 0 11px rgba(35, 207, 99, .72); } 50%, 100% { background: #ef4444; box-shadow: 0 0 0 3px rgba(239, 68, 68, .20), 0 0 11px rgba(239, 68, 68, .70); } }
.onair-public { --bg: #edf5fa; --surface: rgba(255, 255, 255, .95); --ink: #0b2942; --muted: #506a7d; --line: #c7d9e7; --brand: #087fbc; --brand-dark: #075e8c; --accent: #d9f2fc; --success-ink: #075d48; --soft-bg: #e7f1f7; --secondary-bg: #dcecf5; --secondary-ink: #0b2942; --info-bg: #e5f4fb; --info-ink: #0a4e70; --signal-rgb: 8, 127, 188; --shadow: 0 16px 40px rgba(5, 51, 83, .10); }
.onair-public .site-header { background: #041b38; border-bottom-color: #28bde8; }
.onair-public .motion-toggle, .onair-public .theme-toggle, .onair-public .language-select { border-color: #3a729b; color: #dceefa; }
.onair-public .motion-toggle:hover, .onair-public .motion-toggle:focus-visible, .onair-public .theme-toggle:hover, .onair-public .theme-toggle:focus-visible, .onair-public .language-select:hover, .onair-public .language-select:focus-visible { background: #0a355a; color: white; }
.onair-public .eyebrow { color: #087fbc; }
[data-theme="dark"] .onair-public { --bg: #041b38; --surface: rgba(8, 39, 67, .95); --ink: #eef9ff; --muted: #aac5d7; --line: #225575; --brand: #28bde8; --brand-dark: #73daf5; --accent: #0c4a60; --success-ink: #a7f5da; --soft-bg: #0a3453; --secondary-bg: #103f61; --secondary-ink: #eef9ff; --info-bg: #0b3f57; --info-ink: #b6ecfb; --signal-rgb: 40, 189, 232; --shadow: 0 16px 40px rgba(0, 0, 0, .30); }
[data-theme="dark"] .onair-public .site-header { background: #020e20; border-bottom-color: #28bde8; }
[data-theme="dark"] .onair-public .nav-button.nav-onair.active { background: #087fbc; color: #fff; }
.propagation-section { margin: 38px 0 30px; padding: 28px; border: 1px solid #69c9e9; border-radius: 18px; background: linear-gradient(145deg, rgba(237, 247, 252, .97), rgba(225, 241, 250, .94)); box-shadow: 0 16px 40px rgba(5, 80, 123, .12); }
.propagation-heading { display: flex; align-items: end; justify-content: space-between; gap: 20px; padding-left: 16px; border-left: 4px solid #087fbc; }
.propagation-heading h2 { margin-bottom: 8px; color: #075e8c; font-size: clamp(1.65rem, 3vw, 2.25rem); }
.propagation-heading p { margin-bottom: 0; color: #486b81; }
.propagation-heading .eyebrow { color: #087fbc; }
.propagation-source { display: inline-flex; flex: 0 0 auto; align-items: center; min-height: 38px; padding: 8px 13px; border: 1px solid #087fbc; border-radius: 999px; background: #f2fbff; color: #075e8c; font-size: .84rem; font-weight: 800; text-decoration: none; transition: border-color .16s ease-out, background-color .16s ease-out, transform .16s ease-out; }
.propagation-source:hover, .propagation-source:focus-visible { border-color: #054766; background: #cfeefa; color: #043a55; }
.propagation-source:active { transform: scale(.97); }
.propagation-frame-wrap { margin-top: 22px; overflow: hidden; border: 1px solid #309bc5; border-radius: 14px; background: #e1f1f8; box-shadow: 0 10px 28px rgba(5, 80, 123, .16); }
.propagation-frame { display: block; width: 100%; min-height: 1260px; border: 0; background: #e1f1f8; }
.propagation-credit { margin: 16px 2px 0; color: #486b81; font-size: .82rem; }
.propagation-credit a { color: #075e8c; font-weight: 800; }
[data-theme="dark"] .onair-public .propagation-section { border-color: #225f80; background: linear-gradient(145deg, rgba(5, 35, 56, .98), rgba(3, 27, 46, .97)); box-shadow: 0 16px 40px rgba(0, 0, 0, .35); }
[data-theme="dark"] .onair-public .propagation-heading { border-left-color: #28bde8; }
[data-theme="dark"] .onair-public .propagation-heading h2 { color: #bceeff; }
[data-theme="dark"] .onair-public .propagation-heading p, [data-theme="dark"] .onair-public .propagation-credit { color: #b6d9e7; }
[data-theme="dark"] .onair-public .propagation-heading .eyebrow { color: #28bde8; }
[data-theme="dark"] .onair-public .propagation-source { border-color: #28bde8; background: #083c5a; color: #c7f1ff; }
[data-theme="dark"] .onair-public .propagation-source:hover, [data-theme="dark"] .onair-public .propagation-source:focus-visible { border-color: #c7f1ff; background: #0b5479; color: #fff; }
[data-theme="dark"] .onair-public .propagation-frame-wrap, [data-theme="dark"] .onair-public .propagation-frame { border-color: #225f80; background: #031b2e; }
[data-theme="dark"] .onair-public .propagation-credit a { color: #bceeff; }
.propagation-panel { display: grid; gap: 18px; margin-top: 22px; }
.propagation-overview-grid { display: grid; grid-template-columns: 1.55fr repeat(3, minmax(145px, .72fr)); gap: 14px; }
.propagation-overview, .propagation-metric, .propagation-band-group, .propagation-trend, .propagation-update { border: 1px solid #6cbddb; border-radius: 14px; padding: 18px; background: rgba(247, 253, 255, .88); }
.propagation-overview { display: grid; align-content: start; gap: 8px; background: radial-gradient(circle at 84% 38%, rgba(40, 189, 232, .24), transparent 42%), rgba(247, 253, 255, .92); }
.propagation-overview h3, .propagation-metric-value, .propagation-band-group h3, .propagation-trend h3, .propagation-update h3 { margin: 0; color: #0b2942; }
.propagation-overview p { margin: 0; }.propagation-kicker, .propagation-metric-label { color: #486b81; font-size: .72rem; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }
.propagation-metric { display: grid; align-content: start; gap: 9px; }.propagation-metric-value { font-size: clamp(1.8rem, 3vw, 2.5rem); line-height: 1; }
.propagation-pill { display: inline-flex; align-items: center; width: max-content; border: 1px solid currentColor; border-radius: 999px; padding: 4px 10px; font-size: .75rem; font-weight: 850; }
.propagation-pill.calm, .propagation-pill.very-good { color: #087f5b; background: #dff7ec; }.propagation-pill.good, .propagation-pill.normal, .propagation-pill.rising { color: #087fbc; background: #dff4fc; }.propagation-pill.variable, .propagation-pill.watch { color: #8b6205; background: #fff3d0; }.propagation-pill.disturbed, .propagation-pill.limited { color: #a61e2d; background: #fff0f1; }.propagation-pill.falling, .propagation-pill.stable { color: #486b81; background: #e8f1f5; }
.propagation-bands-layout { display: grid; grid-template-columns: 1.25fr .75fr; gap: 18px; }.propagation-band-group h3 { margin-bottom: 13px; font-size: 1rem; }.propagation-band-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(104px, 1fr)); gap: 10px; }.propagation-band { display: grid; gap: 8px; padding: 12px; border-radius: 11px; background: #e9f5fa; }
.propagation-lower { display: grid; grid-template-columns: minmax(0, 1fr); gap: 18px; }.propagation-trend h3, .propagation-update h3 { margin-bottom: 12px; font-size: 1rem; }.propagation-chart { display: block; width: 100%; height: auto; overflow: visible; }.propagation-trend-meta{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:13px;padding-top:12px;border-top:1px solid var(--line)}.propagation-trend-meta p{margin:0;color:var(--muted);font-size:.78rem;line-height:1.42}.propagation-trend-meta p:last-child{grid-column:span 1}.propagation-chart-grid { stroke: #b7d7e5; stroke-width: 1; stroke-dasharray: 4 5; }.propagation-chart-label { fill: #486b81; font: 11px system-ui, sans-serif; }.propagation-chart-line { stroke: #087fbc; stroke-width: 4; stroke-linecap: round; stroke-linejoin: round; }.propagation-update { display: grid; align-content: start; gap: 8px; }.propagation-update p, .propagation-credit { margin: 0; }.propagation-unavailable { margin: 0; padding: 22px; border: 1px dashed #6cbddb; border-radius: 12px; color: #486b81; text-align: center; }
.propagation-update-times { display: grid; gap: 6px; padding: 10px 0; border-bottom: 1px solid #b7d7e5; }.propagation-update-times strong { font-size: .9rem; }
[data-theme="dark"] .onair-public .propagation-overview, [data-theme="dark"] .onair-public .propagation-metric, [data-theme="dark"] .onair-public .propagation-band-group, [data-theme="dark"] .onair-public .propagation-trend, [data-theme="dark"] .onair-public .propagation-update { border-color: #225f80; background: #082d49; }[data-theme="dark"] .onair-public .propagation-overview { background: radial-gradient(circle at 84% 38%, rgba(40, 189, 232, .22), transparent 42%), #082d49; }[data-theme="dark"] .onair-public .propagation-band { background: #0b3f61; }[data-theme="dark"] .onair-public .propagation-overview h3, [data-theme="dark"] .onair-public .propagation-metric-value, [data-theme="dark"] .onair-public .propagation-band-group h3, [data-theme="dark"] .onair-public .propagation-trend h3, [data-theme="dark"] .onair-public .propagation-update h3 { color: #eaf8ff; }[data-theme="dark"] .onair-public .propagation-chart-grid { stroke: #225575; }[data-theme="dark"] .onair-public .propagation-chart-label { fill: #b6d9e7; }
main { position: relative; z-index: 1; min-height: calc(100vh - 150px); padding: 44px 0 64px; }
.hero { padding: 30px 0 20px; max-width: 760px; }
.hero-philosophy { max-width: 730px; margin: -2px 0 14px; color: var(--ink); font-size: clamp(.98rem, 1.35vw, 1.08rem); line-height: 1.62; }
.onair-hero { display: flex; align-items: end; justify-content: space-between; gap: 24px; max-width: none; }
.onair-hero > div { max-width: 760px; }
.onair-back-link { display: inline-flex; flex: 0 0 auto; align-items: center; min-height: 38px; padding: 8px 13px; border: 1px solid var(--line); border-radius: 999px; color: var(--brand-dark); background: var(--surface); font-size: .84rem; font-weight: 800; text-decoration: none; transition: border-color .16s ease-out, background-color .16s ease-out, transform .16s ease-out; }
.onair-back-link:hover, .onair-back-link:focus-visible { border-color: var(--brand); background: var(--accent); }
.onair-back-link:active { transform: scale(.97); }
h1, h2, h3 { line-height: 1.15; margin-top: 0; }
h1 { font-size: clamp(2rem, 5vw, 3.8rem); letter-spacing: -.045em; margin-bottom: 18px; }
h2 { letter-spacing: -.025em; }
p { color: var(--muted); }
.eyebrow { color: var(--brand); text-transform: uppercase; letter-spacing: .14em; font-size: .76rem; font-weight: 800; margin-bottom: 10px; }
.card { background: var(--surface); border: 1px solid var(--line); border-radius: 18px; padding: 28px; box-shadow: var(--shadow); }
.narrow { max-width: 640px; margin: 20px auto; }
.stack { display: grid; gap: 18px; }
label { display: grid; gap: 7px; font-weight: 700; font-size: .93rem; }
input, select, textarea { width: 100%; border: 1px solid var(--field-border); border-radius: 10px; padding: 12px 14px; background: var(--field-bg); color: var(--ink); font: inherit; }
input:focus, select:focus, textarea:focus { outline: 3px solid rgba(20, 184, 134, .18); border-color: var(--brand); }
input[type="checkbox"] { width: auto; }
textarea { min-height: 110px; resize: vertical; }
button, .button { display: inline-block; border: 0; border-radius: 10px; padding: 12px 18px; background: var(--brand); color: white; font: inherit; font-weight: 800; text-decoration: none; cursor: pointer; }
button:hover, .button:hover { background: var(--brand-dark); }
button:disabled { opacity: .5; cursor: not-allowed; }
.theme-toggle, .motion-toggle { width: auto; border: 1px solid #4e6c61; border-radius: 999px; padding: 7px 12px; background: transparent; color: var(--header-text); font-size: .82rem; font-weight: 700; }
.theme-toggle:hover, .theme-toggle:focus-visible, .motion-toggle:hover, .motion-toggle:focus-visible { background: #18352b; color: white; }
.motion-toggle:disabled { opacity: .78; cursor: default; }
.language-control { display: inline-flex; flex: 0 0 auto; align-items: center; }
.language-select { width: auto; min-width: 58px; min-height: 36px; border: 1px solid #4e6c61; border-radius: 999px; padding: 7px 10px; background: transparent; color: var(--header-text); font-size: .82rem; font-weight: 800; line-height: 1; letter-spacing: .04em; cursor: pointer; }
.language-select:hover, .language-select:focus-visible { border-color: #73e4bd; background: #18352b; color: white; outline: none; }
.language-select option { color: #17211d; background: #fff; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
.button.secondary { background: var(--secondary-bg); color: var(--secondary-ink); }
.button.danger, button.danger { background: var(--danger); }
.search-card { margin-bottom: 26px; }
.live-section { margin: 4px 0 30px; scroll-margin-top: 18px; }
.live-heading { display: flex; align-items: end; justify-content: space-between; gap: 18px; margin-bottom: 14px; }
.live-heading h2 { margin-bottom: 8px; font-size: clamp(1.65rem, 3vw, 2.25rem); }
.live-heading p { margin-bottom: 0; }
.live-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 275px), 1fr)); gap: 16px; margin-top: 14px; }
.live-card { display: grid; gap: 10px; padding: 20px; box-shadow: none; border-top: 4px solid var(--brand); }
.live-card.live-paused { border-top-color: var(--paused-accent); }
.live-card-heading { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.live-card h3 { margin: 0; font-size: 1.45rem; letter-spacing: .015em; }
.live-activity-name { margin: -3px 0 2px; color: var(--ink); font-weight: 750; }
.live-updated { color: var(--muted); font-size: .72rem; text-align: right; }
.live-facts { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; margin: 2px 0 0; }
.live-facts div { min-width: 0; padding: 9px 10px; border-radius: 9px; background: var(--soft-bg); }
.live-facts dt { color: var(--muted); font-size: .68rem; font-weight: 750; letter-spacing: .055em; text-transform: uppercase; }
.live-facts dd { margin: 1px 0 0; color: var(--ink); font-size: .92rem; font-weight: 800; overflow-wrap: anywhere; }
.live-note { margin: 2px 0 0; font-size: .86rem; overflow-wrap: anywhere; }
.live-empty { padding: 22px; box-shadow: none; }
.live-empty p { margin: 4px 0 0; }
.activity-contacts-section { margin: 0 0 30px; padding: 26px; border: 1px solid #b9d2dd; border-top: 4px solid #1f84af; border-radius: 16px; background: color-mix(in srgb, var(--surface) 92%, #e3f4fb); box-shadow: var(--shadow); }
.activity-contacts-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 18px; }
.activity-contacts-heading h2 { margin-bottom: 8px; font-size: clamp(1.55rem, 3vw, 2.1rem); }
.activity-contacts-heading p { margin-bottom: 0; }
.activity-contacts-heading-actions { display: flex; align-items: center; justify-content: flex-end; gap: 8px; flex-wrap: wrap; }
.activity-contacts-dialog { width: min(1420px, calc(100vw - 40px)); max-width: none; max-height: calc(100vh - 40px); margin: auto; padding: 0; overflow: auto; resize: both; border: 1px solid #75b8d5; border-top: 4px solid #1f84af; border-radius: 16px; background: var(--surface); color: var(--ink); box-shadow: 0 24px 72px rgba(4, 27, 56, .42); }
.activity-contacts-dialog::backdrop { background: rgba(1, 19, 33, .66); }
.activity-contacts-dialog-toolbar { position: sticky; top: 0; z-index: 2; display: flex; align-items: center; justify-content: space-between; gap: 14px; padding: 12px 16px; border-bottom: 1px solid #b9d2dd; background: color-mix(in srgb, var(--surface) 94%, #e3f4fb); }
.activity-contacts-dialog-toolbar p { margin: 0; color: #315c70; font-size: .82rem; font-weight: 850; letter-spacing: .06em; text-transform: uppercase; }
.activity-contacts-dialog .activity-contacts-section { min-height: min(680px, calc(100vh - 126px)); margin: 0; border: 0; border-radius: 0; box-shadow: none; }
[data-theme="dark"] .activity-contacts-dialog { border-color: #266d91; background: #06263d; color: #e7f7ff; }
[data-theme="dark"] .activity-contacts-dialog-toolbar { border-color: #225f80; background: #082d49; }
[data-theme="dark"] .activity-contacts-dialog-toolbar p { color: #b6d9e7; }
.activity-contacts-summary { margin: 19px 0 0; color: var(--ink); font-weight: 780; }
.activity-contacts-filters { display: grid; grid-template-columns: 1.4fr 1fr .8fr .8fr auto; gap: 12px; align-items: end; margin: 18px 0 14px; }
.activity-contacts-filters label { display: grid; gap: 6px; color: var(--muted); font-size: .79rem; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; }
.activity-contacts-filters input, .activity-contacts-filters select { min-height: 43px; }
.activity-contacts-actions { display: flex; gap: 8px; flex-wrap: wrap; }
.activity-contacts-actions button { min-height: 43px; white-space: nowrap; }
.activity-contacts-section .table-wrap { width: 100%; margin-top: 13px; overflow-x: auto; border: 1px solid var(--line); border-radius: 12px; background: var(--surface); }
.activity-contacts-section table { margin: 0; }
/* La tabla usa todo el ancho disponible. Las proporciones estables priorizan la
   identificación del contacto y la lectura del indicador, sin comprimir UTC u operador. */
.activity-contacts-section .activity-contacts-table { width: 100%; min-width: 900px; table-layout: fixed; border-collapse: collapse; }
.activity-contacts-table th, .activity-contacts-table td { padding: 13px 12px; vertical-align: middle; }
.activity-contacts-table th { color: #315c70; font-size: .75rem; letter-spacing: .035em; line-height: 1.25; text-align: left; text-transform: uppercase; white-space: normal; }
.activity-contacts-table td { overflow: hidden; font-size: .9rem; font-variant-numeric: tabular-nums; text-overflow: ellipsis; white-space: nowrap; }
.activity-contacts-table th:nth-child(1), .activity-contacts-table td:nth-child(1) { width: 18%; }
.activity-contacts-table th:nth-child(2), .activity-contacts-table td:nth-child(2) { width: 8%; }
.activity-contacts-table th:nth-child(3), .activity-contacts-table td:nth-child(3) { width: 9%; }
.activity-contacts-table th:nth-child(4), .activity-contacts-table td:nth-child(4) { width: 13%; }
.activity-contacts-table th:nth-child(5), .activity-contacts-table td:nth-child(5) { width: 18%; }
.activity-contacts-table th:nth-child(6), .activity-contacts-table td:nth-child(6) { width: 12%; }
.activity-contacts-table th:nth-child(7), .activity-contacts-table td:nth-child(7) { width: 22%; }
.activity-contacts-table td:nth-child(7) { color: var(--muted); font-size: .82rem; font-variant-numeric: normal; line-height: 1.35; white-space: normal; }
.activity-contacts-section tbody tr:last-child td { border-bottom: 0; }
.qrz-dot { display: inline-block; width: .72rem; height: .72rem; margin: 0 8px 0 0; border-radius: 50%; vertical-align: middle; background: #ef9d24; box-shadow: 0 0 0 3px rgba(239, 157, 36, .16); }
.qrz-dot.found { background: #1ca56f; box-shadow: 0 0 0 3px rgba(28, 165, 111, .16); }
.qrz-dot.unavailable { background: #7890a1; box-shadow: 0 0 0 3px rgba(120, 144, 161, .16); }
.qrz-status-label { display: inline-flex; align-items: center; border: 0; padding: 0; background: transparent; color: inherit; font: inherit; font-size: .78rem; font-weight: 780; cursor: help; }
.qrz-status-label:focus-visible { outline: 2px solid #73daf5; outline-offset: 3px; border-radius: 3px; }
.qrz-status-label.pending { color: #9a5a00; }.qrz-status-label.found { color: #087f5b; }.qrz-status-label.unavailable { color: var(--muted); }
.qrz-floating-tooltip { position: fixed; z-index: 2147483000; top: 50%; left: 50%; width: min(560px, calc(100vw - 40px)); transform: translate(-50%, -50%); padding: 18px 22px; border: 1px solid #4b9fc0; border-radius: 14px; background: linear-gradient(145deg, #082d49, #061d32); color: #effbff; box-shadow: 0 22px 60px rgba(0, 0, 0, .48), 0 0 0 100vmax rgba(0, 10, 20, .18); font-size: .95rem; font-weight: 650; line-height: 1.5; text-align: center; pointer-events: none; }
.qrz-floating-tooltip[hidden] { display: none; }
[data-theme="dark"] .qrz-status-label.pending { color: #ffd27f; }
.qrz-contact-link { margin-left: 7px; color: var(--brand-dark); font-size: .74rem; font-weight: 800; text-decoration: none; white-space: nowrap; }.qrz-contact-link:hover, .qrz-contact-link:focus-visible { text-decoration: underline; }
[data-theme="dark"] .qrz-status-label.pending { color: #ffd27f; }
.activity-contacts-pagination { display: flex; justify-content: center; align-items: center; gap: 9px; flex-wrap: wrap; margin: 18px 0 0; }.activity-contacts-pagination .pagination-status { flex-basis: auto; }
.activity-districts { margin: 24px 0 0; padding: 18px; border: 1px solid var(--line); border-radius: 14px; background: color-mix(in srgb, var(--surface) 86%, #dceff7); }
.activity-districts-heading h3 { margin: 0 0 5px; font-size: 1.25rem; }
.activity-districts-heading p:not(.eyebrow) { margin: 0; color: var(--muted); font-size: .86rem; }
.activity-district-map { margin-top: 12px; border: 1px solid #2d6178; border-radius: 14px; overflow: hidden; background: #071c31; box-shadow: 0 18px 38px rgba(3, 16, 28, .25); }
.district-map-canvas { position: relative; width: 100%; aspect-ratio: 900 / 610; min-height: 360px; }
.district-map-canvas img { display: block; width: 100%; height: 100%; object-fit: cover; }
.district-marker { position: absolute; transform: translate(-50%, -50%); display: inline-flex; align-items: center; gap: 5px; min-width: 47px; justify-content: center; padding: 5px 7px; border: 1px solid rgba(255,255,255,.72); border-radius: 999px; background: rgba(7, 28, 49, .82); color: #fff; font: 850 .78rem/1 system-ui, sans-serif; letter-spacing: .03em; cursor: pointer; outline: none; box-shadow: 0 5px 15px rgba(0,0,0,.28); transition: transform .16s ease-out, background .16s ease-out, border-color .16s ease-out, opacity .16s ease-out; }
.district-marker-count { display: inline-grid; place-items: center; min-width: 17px; height: 17px; padding: 0 4px; border-radius: 999px; background: #f39a3d; color: #15283a; font-size: .68rem; }
.district-marker.active:hover, .district-marker.active:focus-visible, .district-marker.active.selected { transform: translate(-50%, -50%) scale(1.14); background: #f39a3d; border-color: #fff; color: #12283c; }
.district-marker.active:hover .district-marker-count, .district-marker.active:focus-visible .district-marker-count, .district-marker.active.selected .district-marker-count { background: #12283c; color: #fff; }
.district-marker.inactive { opacity: .38; cursor: not-allowed; }
.district-marker:focus-visible { box-shadow: 0 0 0 4px rgba(54, 194, 211, .45), 0 5px 15px rgba(0,0,0,.28); }
@media (max-width: 700px) { .district-map-canvas { min-height: 260px; } .district-marker { min-width: 39px; padding: 4px 5px; font-size: .68rem; } .district-marker-count { min-width: 14px; height: 14px; font-size: .58rem; } }
.activity-district-details { margin-top: 12px; padding: 12px 14px; border-left: 3px solid #ef9d24; border-radius: 7px; background: color-mix(in srgb, var(--surface) 76%, #ef9d24); color: var(--ink); }
.activity-district-details strong { display: block; }
.activity-district-details p { margin: 6px 0 0; color: var(--muted); overflow-wrap: anywhere; }
.activity-dx-card { margin: 18px 0 0; padding: 18px; border: 1px solid var(--line); border-radius: 14px; background: color-mix(in srgb, var(--surface) 86%, #dceff7); }
.activity-dx-heading h3 { margin: 0 0 5px; font-size: 1.25rem; }
.activity-dx-heading p:not(.eyebrow) { margin: 0; color: var(--muted); font-size: .86rem; }
.activity-dx-list { margin-top: 14px; }
.activity-dx-activity { margin: 0 0 8px; color: var(--ink); font-size: .88rem; font-weight: 780; overflow-wrap: anywhere; }
.activity-dx-summary { margin: 0 0 10px; color: var(--muted); font-size: .86rem; font-weight: 750; }
.activity-dx-callsigns { display: grid; grid-template-columns: repeat(auto-fill, minmax(132px, 1fr)); gap: 9px; margin: 0; padding: 0; list-style: none; }
.activity-dx-callsigns li { padding: 10px 12px; border: 1px solid color-mix(in srgb, var(--brand) 42%, var(--line)); border-radius: 9px; background: color-mix(in srgb, var(--surface) 78%, #eef9fc); color: var(--ink); font: 800 .92rem/1.2 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; text-align: center; }
[data-theme="dark"] .activity-dx-card { background: color-mix(in srgb, var(--surface) 86%, #123a52); }
[data-theme="dark"] .activity-dx-callsigns li { background: color-mix(in srgb, var(--surface) 78%, #123a52); }

/* Consulta externa de QRZ: sin validación automática ni dependencia de credenciales. */
.nav-button.nav-qrz { border-color: #2f8da5; background: rgba(47, 141, 165, .12); color: #c5f3ff; }
.nav-button.nav-qrz:hover, .nav-button.nav-qrz:focus-visible { border-color: #8de9ff; background: #14566c; color: #fff; }
.qrz-lookup-card { margin: 0 0 24px; padding: 22px; border: 1px solid #2d6178; border-radius: 14px; background: linear-gradient(135deg, rgba(8, 45, 73, .96), rgba(8, 35, 57, .92)); color: #eaf8ff; box-shadow: 0 16px 34px rgba(3, 16, 28, .16); }
.qrz-lookup-heading { display: flex; align-items: start; justify-content: space-between; gap: 18px; }
.qrz-lookup-heading h2 { margin: 0 0 5px; color: #eaf8ff; font-size: 1.35rem; }
.qrz-lookup-heading p:not(.eyebrow) { margin: 0; color: #b6d9e7; font-size: .88rem; }
.qrz-lookup-brand { display: inline-flex; align-items: center; min-height: 38px; padding: 4px 11px; border: 1px solid #6cbddb; border-radius: 9px; color: #eaf8ff; font: 900 1.05rem/1 system-ui, sans-serif; letter-spacing: .08em; }
.qrz-lookup-form { display: grid; gap: 7px; margin-top: 17px; }
.qrz-lookup-form label { color: #b6d9e7; font-size: .78rem; font-weight: 800; letter-spacing: .05em; text-transform: uppercase; }
.qrz-lookup-controls { display: flex; gap: 10px; align-items: stretch; }
.qrz-lookup-controls input { flex: 1 1 auto; min-width: 0; }
.qrz-lookup-controls .button { flex: 0 0 auto; }
.qrz-lookup-note, .qrz-lookup-status { margin: 13px 0 0; color: #b6d9e7; font-size: .8rem; line-height: 1.45; }
.qrz-lookup-status { padding: 10px 12px; border-left: 3px solid #6cbddb; border-radius: 7px; background: rgba(108, 189, 219, .12); }
.activity-dx-call-item { display: grid; grid-template-rows: auto auto; align-items: center; justify-items: stretch; gap: 5px; min-width: 0; }
.activity-dx-call { display: block; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.activity-dx-qrz-link { justify-self: end; max-width: 100%; overflow: hidden; color: var(--brand-dark); font-size: .68rem; font-weight: 800; line-height: 1.2; text-decoration: none; text-overflow: ellipsis; white-space: nowrap; }
.activity-dx-qrz-link:hover, .activity-dx-qrz-link:focus-visible { text-decoration: underline; }
[data-theme="dark"] .qrz-lookup-card { background: linear-gradient(135deg, #082d49, #08243a); }
@media (max-width: 700px) { .qrz-lookup-heading { flex-direction: column; } .qrz-lookup-controls { flex-direction: column; } .qrz-lookup-controls .button { width: 100%; } .activity-dx-callsigns { grid-template-columns: repeat(auto-fill, minmax(118px, 1fr)); } .activity-dx-call-item { gap: 4px; } }
.activity-contacts-notice { margin: 20px 0 0; padding: 12px 14px; border-left: 3px solid #4e9cc0; border-radius: 7px; background: color-mix(in srgb, #dceff7 72%, transparent); color: #315c70; font-size: .84rem; }.activity-contacts-qrz-legend { margin: 12px 0 0; color: var(--muted); font-size: .8rem; }
.search-form { display: grid; grid-template-columns: 1.25fr 1fr auto; gap: 14px; align-items: end; }
.eqsl-search-form { grid-template-columns: minmax(0, 1fr) auto; }
.result { margin: 26px 0; border-left: 6px solid var(--brand); }
.result.not-found { border-left-color: #e67700; }
.diploma-download-ready { display: grid; gap: 11px; margin-top: 18px; padding: 15px 16px; border: 1px solid color-mix(in srgb, var(--brand) 54%, var(--line)); border-radius: 12px; background: color-mix(in srgb, var(--accent) 72%, var(--surface)); }
.diploma-download-ready-message { margin: 0; color: var(--success-ink); font-weight: 750; }
.diploma-download-link { width: max-content; max-width: 100%; }
.diploma-download-actions { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; }
.diploma-download-actions .diploma-download-link { min-width: 0; }
@media (max-width: 620px) { .diploma-download-actions { display: grid; grid-template-columns: 1fr; } .diploma-download-actions .diploma-download-link { width: 100%; } }
.eqsl-collection-grid { display: grid; gap: 22px; margin-top: 28px; }
.eqsl-collection-card { display: grid; grid-template-columns: clamp(280px, 42%, 470px) minmax(0, 1fr); gap: 0; padding: 0; overflow: hidden; }
.eqsl-template-preview { display: block; width: 100%; height: 100%; min-height: 250px; object-fit: cover; background: #07100d; }
.eqsl-collection-copy { min-width: 0; padding: 30px; }
.eqsl-collection-copy h2 { margin-bottom: 10px; }
.eqsl-qso-list { display: grid; gap: 12px; margin-top: 22px; }
.eqsl-qso-item { display: flex; align-items: center; justify-content: space-between; gap: 16px; border: 1px solid var(--line); border-radius: 13px; padding: 15px; background: var(--soft-bg); }
.eqsl-qso-copy { display: grid; gap: 3px; min-width: 0; }
.eqsl-qso-copy strong { color: var(--ink); }
.eqsl-qso-copy span { color: var(--muted); overflow-wrap: anywhere; }
.activity-grid { display: grid; grid-template-columns: minmax(0, 1fr); gap: 22px; margin-top: 28px; }
.activity-pagination { display: flex; align-items: center; justify-content: center; gap: 8px; flex-wrap: wrap; margin-top: 24px; padding: 18px; border: 1px solid var(--line); border-radius: 16px; background: color-mix(in srgb, var(--surface) 88%, transparent); box-shadow: var(--shadow); }
.pagination-button { display: inline-flex; min-width: 38px; min-height: 38px; align-items: center; justify-content: center; border: 1px solid var(--field-border); border-radius: 999px; padding: 8px 13px; background: var(--field-bg); color: var(--secondary-ink); font-size: .86rem; font-weight: 800; cursor: pointer; transition: border-color .16s ease-out, background-color .16s ease-out, color .16s ease-out, transform .16s ease-out; }
.pagination-button:hover:not(:disabled), .pagination-button:focus-visible { border-color: var(--brand); background: var(--accent); color: var(--success-ink); }
.pagination-button[aria-current="page"] { border-color: var(--brand); background: var(--brand); color: white; }
.pagination-button:active:not(:disabled) { transform: scale(.97); }
.pagination-button:disabled { opacity: .45; cursor: not-allowed; }
.pagination-status { flex-basis: 100%; margin: 2px 0 0; color: var(--muted); font-size: .82rem; text-align: center; }
.activity-card { display: grid; grid-template-columns: clamp(240px, 32%, 340px) minmax(0, 1fr); gap: 0; align-items: start; width: 100%; padding: 0; overflow: hidden; box-shadow: none; }
.activity-card.status-active { border-top: 4px solid var(--brand); }
.activity-card.status-completed { border-top: 4px solid var(--completed-accent); }
.activity-media { aspect-ratio: 16 / 10; margin: 24px 0 24px 24px; border: 1px solid var(--line); border-radius: 12px; background: var(--soft-bg); overflow: hidden; }
.activity-thumbnail { display: block; width: 100%; height: 100%; padding: 8px; object-fit: contain; background: var(--soft-bg); }
.activity-thumbnail-placeholder { display: grid; width: 100%; height: 100%; place-items: center; padding: 18px; color: var(--muted); font-size: .8rem; font-weight: 750; text-align: center; background: radial-gradient(circle at 80% 80%, rgba(var(--signal-rgb), .15), transparent 45%), var(--soft-bg); }
.activity-copy { min-width: 0; padding: 28px; }
.activity-copy h2 { margin: 11px 0 9px; }
.activity-description, .result-description { color: var(--muted); line-height: 1.68; white-space: pre-line; overflow-wrap: anywhere; }
.activity-description.size-small, .result-description.size-small { font-size: .92rem; }
.activity-description.size-normal, .result-description.size-normal { font-size: 1rem; }
.activity-description.size-large, .result-description.size-large { font-size: 1.1rem; }
.activity-description.align-left, .result-description.align-left { text-align: left; }
.activity-description.align-justify, .result-description.align-justify { text-align: justify; }
.status-badge { display: inline-flex; align-items: center; border-radius: 999px; padding: 4px 10px; font-size: .72rem; font-weight: 850; letter-spacing: .07em; line-height: 1.2; text-transform: uppercase; }
.status-badge.active { background: var(--accent); color: var(--success-ink); }
.status-badge.completed { background: var(--completed-bg); color: var(--completed-ink); }
.status-badge.live.on_air { background: var(--accent); color: var(--success-ink); }
.status-badge.live.paused { background: var(--paused-bg); color: var(--paused-ink); }
.status-badge::before { content: ""; width: .48rem; height: .48rem; margin-right: 6px; border-radius: 50%; background: currentColor; opacity: .82; }
.alert { border-radius: 10px; padding: 13px 15px; margin: 0 0 18px; background: var(--info-bg); color: var(--info-ink); }
.alert.success { background: var(--accent); color: var(--success-ink); }
.alert.error { background: var(--danger-bg); color: var(--danger); }
.alert ul { margin-bottom: 0; }
.requirements { display: grid; gap: 8px; margin: 22px 0; }
.requirement { border: 1px solid var(--line); border-radius: 9px; padding: 10px 12px; }
.requirement.ok strong { color: var(--brand); }
.requirement.fail strong { color: var(--danger); }
.empty-state { padding: 30px; text-align: center; color: var(--muted); }
.admin-grid { display: grid; grid-template-columns: 1.05fr .95fr; gap: 24px; align-items: start; }
.section-gap { margin-top: 24px; }
.admin-list { display: grid; gap: 14px; }
.admin-item { border: 1px solid var(--line); border-radius: 12px; padding: 16px; }
.admin-item h3 { margin-bottom: 7px; }
.meta { color: var(--muted); font-size: .86rem; }
.inline-actions { display: flex; gap: 10px; align-items: center; flex-wrap: wrap; margin-top: 12px; }
.form-row { display: grid; grid-template-columns: repeat(2, 1fr); gap: 14px; }
.form-row.three { grid-template-columns: repeat(3, 1fr); }
.help { font-weight: 400; color: var(--muted); font-size: .84rem; }
hr { border: 0; border-top: 1px solid var(--line); margin: 28px 0; }
code { background: var(--soft-bg); padding: 2px 6px; border-radius: 5px; }
.site-footer { position: relative; z-index: 1; border-top: 1px solid var(--line); padding: 24px 0 36px; color: var(--muted); font-size: .85rem; background: var(--bg); background: color-mix(in srgb, var(--bg) 84%, transparent); }
.footer-content { display: flex; justify-content: space-between; align-items: center; gap: 12px 24px; flex-wrap: wrap; }
.footer-attribution, .footer-links { display: flex; align-items: center; gap: 8px 12px; flex-wrap: wrap; }
.footer-attribution strong { color: var(--ink); }
.footer-links { gap: 6px; }
.site-footer a { display: inline-flex; align-items: center; min-height: 30px; padding: 4px 9px; border: 1px solid var(--line); border-radius: 999px; color: var(--brand-dark); background: color-mix(in srgb, var(--surface) 82%, transparent); font-size: .78rem; font-weight: 800; line-height: 1; text-decoration: none; transition: border-color .16s ease-out, background-color .16s ease-out, transform .16s ease-out; }
.site-footer a:hover, .site-footer a:focus-visible { border-color: var(--brand); background: var(--accent); text-decoration: none; }
.site-footer a:active { transform: scale(.97); }
.site-visits { display: inline-flex; align-items: center; justify-content: center; order: 3; flex: 1 0 100%; width: 100%; max-width: 100%; flex-wrap: wrap; gap: .34rem; padding-top: 2px; color: var(--muted); font-size: .72rem; letter-spacing: .01em; line-height: 1.3; opacity: .84; text-align: center; }
.site-visits__total { font-variant-numeric: tabular-nums; }
.site-visits__separator { opacity: .58; }
.site-visits__countries { display: inline-flex; align-items: center; justify-content: center; flex: 0 1 auto; flex-wrap: wrap; gap: .22rem; min-width: 0; }
.site-visits__countries-label { margin-right: .08rem; }
.site-visits__country { display: inline-flex; align-items: center; justify-content: center; min-width: 1.25rem; line-height: 1; }
.site-visits__country img { display: block; width: 1.25rem; height: auto; aspect-ratio: 4 / 3; border-radius: 2px; box-shadow: 0 0 0 1px color-mix(in srgb, var(--line) 86%, transparent); }
.site-visits__country--fallback { font-family: ui-monospace, monospace; font-size: .66rem; font-weight: 750; letter-spacing: .04em; }
.site-visits__country:hover { opacity: 1; }
@media (max-width: 1120px) {
  .site-header .header-inner { align-items: flex-start; flex-direction: column; padding: 16px 32px; }
  .header-actions { width: 100%; align-items: center; justify-content: space-between; }
  .site-header nav { flex: 0 1 auto; }
}
@media (max-width: 820px) {
  .brand-logo { width: min(242px, 76vw); }
  .header-actions { align-items: flex-start; flex-direction: column; gap: 14px; }
  .site-header nav { width: 100%; justify-content: flex-start; flex-wrap: wrap; }
  .search-form, .admin-grid, .form-row, .form-row.three, .eqsl-collection-card { grid-template-columns: 1fr; }
  .live-heading, .onair-hero, .activity-contacts-heading { align-items: flex-start; flex-direction: column; }
  .activity-contacts-heading-actions { justify-content: flex-start; }
  .activity-contacts-dialog { width: min(100vw - 24px, 900px); max-height: calc(100vh - 24px); resize: none; }
  .activity-contacts-filters { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .propagation-heading { align-items: flex-start; flex-direction: column; }
  .propagation-overview-grid, .propagation-bands-layout, .propagation-lower { grid-template-columns: 1fr; }
  .propagation-frame { min-height: 1420px; }
  .eqsl-template-preview { min-height: 0; aspect-ratio: 3 / 2; }
  h1 { font-size: 2.35rem; }
  main { padding-top: 24px; }
  .footer-content { align-items: flex-start; flex-direction: column; }
}
@media (max-width: 560px) {
  .download-counter { min-width: 0; }
  .download-counter-band-inner { justify-content: center; }
  .download-counter-band .download-counter { width: min(100%, 330px); min-width: 0; padding: 10px 15px; }
  .download-counter-band .download-counter-value { font-size: 1.62rem; }
  .propagation-section { padding: 20px; }
  .propagation-heading { padding-left: 13px; }
  .propagation-source { width: 100%; justify-content: center; }
  .propagation-frame { min-height: 1540px; }
  .activity-card { grid-template-columns: 1fr; }
  .activity-pagination { gap: 7px; padding: 15px 12px; }
  .pagination-button { min-width: 36px; min-height: 36px; padding: 7px 11px; }
  .activity-media { width: calc(100% - 40px); margin: 20px 20px 0; }
  .activity-copy { padding: 22px 20px 24px; }
  .activity-description.align-justify, .result-description.align-justify { text-align: left; }
  .eqsl-qso-item { align-items: stretch; flex-direction: column; }
  .live-facts { grid-template-columns: 1fr; }
  .activity-contacts-section { padding: 20px; }
  .activity-contacts-filters { grid-template-columns: 1fr; }
  .activity-contacts-actions { width: 100%; }.activity-contacts-actions button { flex: 1 1 auto; }
  .activity-contacts-dialog { width: calc(100vw - 14px); max-height: calc(100vh - 14px); border-radius: 12px; }
  .activity-contacts-dialog-toolbar { padding: 10px 12px; }
  .activity-contacts-dialog .activity-contacts-section { min-height: 0; padding: 18px; }
  .eqsl-qso-item button { width: 100%; }
}
@media (prefers-reduced-motion: reduce) {
  .radio-ring { animation: none !important; opacity: .07; transform: translate(50%, 50%) scale(3.8); }
  .nav-button.nav-onair.has-live-activity::before { animation: none; opacity: 1; background: #23cf63; box-shadow: 0 0 0 3px rgba(35, 207, 99, .22), 0 0 11px rgba(35, 207, 99, .72); }
}
/* Mapa solar mundial: visualización local, accesible y consistente con On-Air. */
.solar-map { overflow: hidden; border: 1px solid #6cbddb; border-radius: 14px; padding: 18px; background: linear-gradient(145deg, rgba(247, 253, 255, .94), rgba(225, 244, 252, .94)); }
.solar-map-heading { display: flex; align-items: start; justify-content: space-between; gap: 18px; }
.solar-map-copy { min-width: 0; }
.solar-map-copy h3 { margin: 3px 0 6px; color: #0b2942; font-size: clamp(1.08rem, 2vw, 1.35rem); }
.solar-map-copy p:not(.propagation-kicker) { margin: 0; color: #486b81; }
.solar-map-times { display: grid; flex: 0 0 auto; gap: 5px; min-width: 190px; padding: 10px 12px; border: 1px solid #9dcfe1; border-radius: 11px; background: rgba(255, 255, 255, .78); color: #075e8c; font-size: .82rem; }
.solar-map-times strong { font-variant-numeric: tabular-nums; }
.solar-map-canvas { display: block; width: 100%; height: auto; aspect-ratio: 2 / 1; margin-top: 16px; border: 1px solid #1d6e96; border-radius: 12px; background: #071c35; box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .08); }
.solar-map-legend { display: flex; flex-wrap: wrap; gap: 13px; margin-top: 12px; color: #335a70; font-size: .82rem; font-weight: 750; }
.solar-map-legend-item { display: inline-flex; align-items: center; gap: 6px; }
.solar-map-swatch { display: inline-block; width: 13px; height: 13px; border: 1px solid rgba(8, 44, 66, .38); border-radius: 50%; }
.solar-map-swatch.night { background: #041b38; }.solar-map-swatch.twilight { background: #167b9d; }.solar-map-swatch.day { background: #96d0e5; }
.solar-map-credit { margin: 11px 0 0; color: #486b81; font-size: .75rem; }
[data-theme="dark"] .onair-public .solar-map { border-color: #225f80; background: linear-gradient(145deg, #082d49, #06253e); }
[data-theme="dark"] .onair-public .solar-map-copy h3 { color: #eaf8ff; }[data-theme="dark"] .onair-public .solar-map-copy p:not(.propagation-kicker), [data-theme="dark"] .onair-public .solar-map-legend, [data-theme="dark"] .onair-public .solar-map-credit { color: #b6d9e7; }
[data-theme="dark"] .onair-public .solar-map-times { border-color: #22698d; background: #0b3f61; color: #d9f5ff; }[data-theme="dark"] .onair-public .solar-map-swatch { border-color: rgba(233, 248, 255, .45); }
@media (max-width: 640px) { .solar-map { padding: 15px; }.solar-map-heading { display: grid; }.solar-map-times { min-width: 0; width: 100%; }.solar-map-legend { gap: 10px 13px; } }


/* Reloj dual de Propagación: UTC y hora local de España, refrescado al cambio de minuto. */
.propagation-clock-host { width: 100%; margin: 1px 0 3px; }
.dual-clock { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; width: 100%; }
.dual-clock-screen { display: grid; grid-template-columns: max-content minmax(0, 1fr); align-items: center; gap: 7px; min-width: 0; min-height: 54px; padding: 8px 9px; overflow: hidden; border: 1px solid color-mix(in srgb, var(--brand) 56%, var(--line)); border-radius: 10px; background: linear-gradient(145deg, #0a2945, #041b38); box-shadow: inset 0 0 0 1px rgba(202, 244, 255, .07); color: #dff9ff; }
.dual-clock-label { padding: 4px 5px; border: 1px solid rgba(182, 233, 247, .38); border-radius: 4px; color: #aeeefa; font-size: .58rem; font-weight: 900; letter-spacing: .07em; line-height: 1; text-transform: uppercase; }
.dual-clock-value { min-width: 0; color: #d9fbff; font-family: ui-monospace, "Courier New", SFMono-Regular, Menlo, Consolas, monospace; font-size: clamp(1.38rem, 1.75vw, 1.72rem); font-variant-numeric: tabular-nums; font-weight: 800; letter-spacing: .04em; line-height: 1; text-align: right; text-shadow: 0 0 8px rgba(83, 224, 248, .34); white-space: nowrap; }
.solar-map-clock-host { flex: 0 1 390px; width: min(100%, 390px); min-width: 0; }
@media (max-width: 720px) { .solar-map-heading { display: grid; }.solar-map-clock-host { width: 100%; max-width: none; } }
@media (max-width: 440px) { .dual-clock { gap: 6px; }.dual-clock-screen { grid-template-columns: 1fr; gap: 6px; min-height: 69px; padding: 8px; }.dual-clock-label { justify-self: start; }.dual-clock-value { font-size: 1.32rem; text-align: left; } }

/* Relojes de referencia: sustituyen la tarjeta de tendencia geomagnética. */
.propagation-clock-panel{padding:24px;border:1px solid var(--line);border-radius:14px;background:radial-gradient(circle at 88% 18%,rgba(40,189,232,.18),transparent 38%),color-mix(in srgb,var(--surface) 78%,var(--accent));box-shadow:inset 0 0 0 1px rgba(255,255,255,.05)}
.propagation-large-clock-host .dual-clock{gap:18px}
.propagation-large-clock-host .dual-clock-screen{min-height:132px;padding:18px 22px;border-radius:15px;gap:14px}
.propagation-large-clock-host .dual-clock-label{padding:6px 7px;font-size:.75rem}
.propagation-large-clock-host .dual-clock-value{font-size:clamp(2.2rem,4.6vw,3.8rem);letter-spacing:.065em;text-shadow:0 0 14px rgba(83,224,248,.44)}
@media(max-width:640px){.propagation-clock-panel{padding:16px}.propagation-large-clock-host .dual-clock{grid-template-columns:1fr;gap:11px}.propagation-large-clock-host .dual-clock-screen{min-height:98px;padding:14px 16px}.propagation-large-clock-host .dual-clock-value{font-size:clamp(2rem,10vw,3.2rem)}}

/* La operación por bandas y el reloj comparten la fila a partes iguales. */
.propagation-operations-layout{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;align-items:stretch}
.propagation-operations-layout .propagation-bands-layout{grid-template-columns:1fr;gap:18px}
.propagation-operations-layout .propagation-band-group{padding:22px}
.propagation-operations-layout .propagation-band-group h3{margin-bottom:15px;font-size:1.12rem}
.propagation-operations-layout .propagation-band-grid{grid-template-columns:repeat(auto-fit,minmax(96px,1fr));gap:12px}
.propagation-operations-layout .propagation-band{gap:9px;padding:14px;font-size:1rem}
.propagation-operations-layout .propagation-band strong{font-size:1rem}
.propagation-operations-layout .propagation-pill{padding:5px 10px;font-size:.8rem}
.propagation-operations-layout .propagation-clock-panel{display:grid;align-items:center}
@media(max-width:860px){.propagation-operations-layout{grid-template-columns:1fr}.propagation-operations-layout .propagation-bands-layout{grid-template-columns:1fr}}

/* Escritorio: HF 25 %, VHF/UHF 25 % y reloj dual 50 % en una única línea. */
@media(min-width:861px){
  .propagation-operations-layout{grid-template-columns:repeat(4,minmax(0,1fr));align-items:stretch}
  .propagation-operations-layout .propagation-bands-layout{display:contents}
  .propagation-operations-layout .propagation-band-group{grid-column:span 1;padding:18px}
  .propagation-operations-layout .propagation-band-group h3{font-size:1rem;line-height:1.25}
  .propagation-operations-layout .propagation-band-grid{grid-template-columns:repeat(auto-fit,minmax(78px,1fr));gap:8px}
  .propagation-operations-layout .propagation-band{padding:11px;font-size:.92rem}
  .propagation-operations-layout .propagation-band strong{font-size:.92rem}
  .propagation-operations-layout .propagation-pill{padding:4px 8px;font-size:.72rem}
  .propagation-operations-layout .propagation-clock-panel{grid-column:span 2}
}
@media(min-width:861px) and (max-width:1100px){
  .propagation-operations-layout .propagation-large-clock-host .dual-clock-screen{grid-template-columns:1fr;gap:8px;min-height:118px;padding:16px}
  .propagation-operations-layout .propagation-large-clock-host .dual-clock-label{justify-self:start}
  .propagation-operations-layout .propagation-large-clock-host .dual-clock-value{font-size:clamp(1.85rem,4.2vw,2.45rem);text-align:left}
}

/* Escritorio: las dos orientaciones comparten la primera fila; el reloj ocupa la segunda completa. */
@media(min-width:861px){
  .propagation-operations-layout{grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch}
  .propagation-operations-layout .propagation-bands-layout{display:contents}
  .propagation-operations-layout .propagation-band-group{grid-column:span 1;padding:22px}
  .propagation-operations-layout .propagation-band-group h3{font-size:1.08rem;line-height:1.25}
  .propagation-operations-layout .propagation-band-grid{grid-template-columns:repeat(auto-fit,minmax(96px,1fr));gap:11px}
  .propagation-operations-layout .propagation-band{padding:14px;font-size:1rem}
  .propagation-operations-layout .propagation-band strong{font-size:1rem}
  .propagation-operations-layout .propagation-pill{padding:5px 10px;font-size:.8rem}
  .propagation-operations-layout .propagation-clock-panel{grid-column:1 / -1}
  .propagation-operations-layout .propagation-large-clock-host .dual-clock-screen{min-height:142px;padding:20px 28px}
  .propagation-operations-layout .propagation-large-clock-host .dual-clock-value{font-size:clamp(2.7rem,7.4vw,5.35rem)}
}

/* Display de doble reloj: hora a la izquierda y etiqueta ampliada a la derecha. */
.propagation-large-clock-host .dual-clock-screen{grid-template-columns:minmax(0,1fr) max-content}
.propagation-large-clock-host .dual-clock-value{text-align:left}
.propagation-large-clock-host .dual-clock-label{justify-self:end;padding:8px 10px;font-size:1.5rem;letter-spacing:.09em}
@media(max-width:860px){.propagation-large-clock-host .dual-clock-label{font-size:1.15rem;padding:7px 8px}}

/* El horario local invierte su composición: etiqueta a la izquierda y hora a la derecha. */
.propagation-large-clock-host .dual-clock-screen.dual-clock-local{grid-template-columns:max-content minmax(0,1fr)}
.propagation-large-clock-host .dual-clock-screen.dual-clock-local .dual-clock-label{justify-self:start}
.propagation-large-clock-host .dual-clock-screen.dual-clock-local .dual-clock-value{text-align:right}

.nav-button.nav-blog { border-color: #c08a2e; background: rgba(245, 183, 63, .10); color: #ffe0a1; }
.nav-button.nav-blog:hover, .nav-button.nav-blog:focus-visible, .nav-button.nav-blog.active { border-color: #ffd477; background: #6d4812; color: #fff7e6; }

/* Identificación cromática estable por operador · Web 1.3.1 */
.operator-legend{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:12px 0 2px;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:color-mix(in srgb,var(--surface) 84%,#dff4fb);font-size:.8rem}.operator-legend-title{color:var(--muted);letter-spacing:.04em;text-transform:uppercase}.operator-legend-list{display:flex;gap:10px 14px;flex-wrap:wrap}.operator-legend-item{display:inline-flex;align-items:center;gap:6px;font-weight:800}.operator-dot{display:inline-block;width:.72rem;height:.72rem;flex:0 0 .72rem;border-radius:50%;box-shadow:0 0 0 3px color-mix(in srgb,currentColor 16%,transparent);background:currentColor}.operator-cell{font-weight:800}.operator-color-0{color:#f39a3d}.operator-color-1{color:#36c5e6}.operator-color-2{color:#b27be8}.operator-color-3{color:#65c466}.operator-color-4{color:#e2c04f}.operator-color-5{color:#ef7f9d}.operator-color-6{color:#8da8ff}.operator-color-7{color:#53c9a4}.operator-color-8{color:#d892d8}.operator-color-9{color:#f08c4f}.operator-cell .operator-dot{margin-right:7px}

/* DiploHAM On-Air Web 1.3.2 — composición pública 2K/4K.
   Amplía el lienzo solo en escritorio; los breakpoints existentes conservan
   el comportamiento Full HD, tablet y móvil. */
@media (min-width: 1440px) {
  .container { width: min(1480px, calc(100% - 72px)); }
  main { padding-top: 52px; padding-bottom: 76px; }
  .activity-contacts-section { padding: 30px; }
  .activity-contacts-table th, .activity-contacts-table td { padding: 14px 15px; }
  .activity-grid, .live-grid { gap: 24px; }
  .propagation-section { padding: 34px; }
}
@media (min-width: 2200px) {
  .container { width: min(1820px, calc(100% - 120px)); }
  main { padding-top: 64px; padding-bottom: 92px; }
  .activity-contacts-section { padding: 36px; }
  .activity-contacts-table th, .activity-contacts-table td { padding: 16px 18px; font-size: 1rem; }
  .activity-contacts-table th { font-size: .82rem; }
  .activity-contacts-table td:nth-child(7) { font-size: .9rem; }
  .activity-contacts-filters { gap: 16px; margin-top: 22px; }
  .activity-grid, .live-grid { gap: 28px; }
  .propagation-section { padding: 42px; }
}

/* Imagen solar NOAA: conserva la última imagen válida si la fuente falla. */
.solar-image-panel{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,420px);gap:18px;align-items:center;margin:18px 0;padding:18px 20px;border:1px solid var(--line);border-radius:14px;background:radial-gradient(circle at 12% 20%,rgba(255,153,54,.16),transparent 36%),linear-gradient(145deg,#082d49,#06253e);box-shadow:inset 0 0 0 1px rgba(255,255,255,.04)}
.solar-image-heading h3{margin:5px 0 6px;color:#eaf8ff;font-size:1.15rem}.solar-image-help{margin:0;color:#b6d9e7;font-size:.84rem}.solar-image-figure{margin:0}.solar-image{display:block;width:100%;min-height:150px;max-height:250px;object-fit:contain;border:1px solid rgba(133,220,244,.34);border-radius:10px;background:#020d1a;opacity:.0;transition:opacity .2s ease}.solar-image.is-loaded{opacity:1}.solar-image-meta{margin-top:7px;color:#b6d9e7;font-size:.72rem;text-align:right}.solar-image-notice{grid-column:1 / -1;margin:0;padding:7px 10px;border-left:3px solid #f0a33a;border-radius:4px;background:rgba(240,163,58,.14);color:#ffe0a4;font-size:.76rem}.solar-image-notice[hidden]{display:none}
@media(max-width:720px){.solar-image-panel{grid-template-columns:1fr}.solar-image-meta{text-align:left}.solar-image-notice{grid-column:auto}}

/* DiploHAM On-Air 1.9.2 · consolidación visual compacta del módulo de propagación */
.propagation-section{padding:22px;margin:30px 0 24px}
.propagation-panel{gap:12px;margin-top:16px}
.propagation-heading{gap:14px}.propagation-heading h2{font-size:clamp(1.5rem,2.5vw,2rem);margin-bottom:5px}
.propagation-overview-grid{grid-template-columns:minmax(250px,1.35fr) repeat(3,minmax(130px,.72fr));gap:10px}
.propagation-overview,.propagation-metric{padding:14px;border-radius:12px}.propagation-overview{gap:5px}.propagation-metric{gap:7px}.propagation-metric-value{font-size:clamp(1.65rem,2.5vw,2.15rem)}.propagation-pill{padding:3px 8px;font-size:.7rem}
.solar-image-panel{grid-template-columns:minmax(0,1fr) minmax(300px,380px);gap:14px;margin:12px 0;padding:14px 16px;min-height:0}.solar-image-heading{align-self:center}.solar-image-heading h3{font-size:1.05rem}.solar-image-help{font-size:.78rem}.solar-image{min-height:0;max-height:220px}.solar-image-meta{font-size:.68rem}
.propagation-operations-layout{gap:12px}.propagation-operations-layout .propagation-band-group{padding:15px}.propagation-operations-layout .propagation-band-group h3{margin-bottom:10px;font-size:1rem}.propagation-operations-layout .propagation-band-grid{gap:8px}.propagation-operations-layout .propagation-band{gap:6px;padding:10px;font-size:.9rem}.propagation-operations-layout .propagation-band strong{font-size:.9rem}.propagation-operations-layout .propagation-pill{padding:3px 7px;font-size:.7rem}.propagation-clock-panel{padding:18px}.propagation-operations-layout .propagation-large-clock-host .dual-clock-screen{min-height:108px;padding:15px 18px}.propagation-operations-layout .propagation-large-clock-host .dual-clock-value{font-size:clamp(2.2rem,5vw,3.8rem)}
@media(min-width:861px){.propagation-operations-layout{gap:12px}.propagation-operations-layout .propagation-band-group{padding:15px}.propagation-operations-layout .propagation-clock-panel{margin-top:0}}
@media(max-width:860px){.propagation-overview-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.solar-image-panel{grid-template-columns:minmax(0,1fr) minmax(250px,340px)}}
@media(max-width:640px){.propagation-section{padding:16px}.propagation-overview-grid{grid-template-columns:1fr}.solar-image-panel{grid-template-columns:1fr}.solar-image{max-height:240px}.propagation-operations-layout .propagation-band-group{padding:13px}}

/* DiploHAM On-Air 1.9.3 · compactación 2K reforzada */
.propagation-section{padding:18px;margin:24px 0 20px}
.propagation-panel{gap:10px;margin-top:12px}
.propagation-overview-grid{gap:8px}
.propagation-overview,.propagation-metric{padding:11px 13px}
.propagation-overview{gap:4px}.propagation-overview p{font-size:.86rem;line-height:1.3}
.propagation-metric{gap:5px}.propagation-metric-label{font-size:.66rem}.propagation-metric-value{font-size:clamp(1.5rem,2.2vw,1.95rem)}
.solar-image-panel{grid-template-columns:minmax(0,1fr) minmax(260px,330px);gap:12px;margin:10px 0;padding:12px 14px}
.solar-image-heading h3{font-size:1rem}.solar-image-help{font-size:.76rem}.solar-image{max-height:170px !important}.solar-image-meta{font-size:.64rem}
.propagation-operations-layout{align-items:start !important;gap:10px}.propagation-operations-layout .propagation-band-group{align-self:start;padding:12px;min-height:0}.propagation-operations-layout .propagation-band-group h3{margin-bottom:8px;font-size:.96rem}.propagation-operations-layout .propagation-band-grid{gap:7px}.propagation-operations-layout .propagation-band{gap:5px;padding:8px;font-size:.86rem}.propagation-operations-layout .propagation-band strong{font-size:.86rem}.propagation-operations-layout .propagation-pill{padding:3px 7px;font-size:.66rem}
@media(min-width:1440px){.propagation-section{padding:18px}.propagation-operations-layout .propagation-clock-panel{padding:14px}.propagation-operations-layout .propagation-large-clock-host .dual-clock-screen{min-height:92px;padding:12px 16px}}
@media(max-width:640px){.propagation-section{padding:14px}.solar-image{max-height:220px !important}}

/* DiploHAM On-Air 1.9.4 · reducción real de espacios vacíos */
.solar-image-panel{height:auto;min-height:0 !important;align-items:start;grid-template-columns:minmax(0,1fr) minmax(230px,290px);gap:10px;margin:8px 0;padding:10px 12px}
.solar-image-heading{align-self:start;padding-top:4px}.solar-image-heading h3{margin:3px 0 4px;font-size:.96rem}.solar-image-help{font-size:.72rem;line-height:1.25}
.solar-image-figure{align-self:start}.solar-image{display:block;min-height:0 !important;height:auto;max-height:120px !important;object-fit:contain}.solar-image-meta{margin-top:4px;font-size:.6rem;line-height:1.15}
.solar-image-notice{padding:5px 8px;font-size:.68rem}
.propagation-operations-layout{height:auto;min-height:0 !important;align-items:start !important}
.propagation-operations-layout .propagation-band-group{height:auto;min-height:0 !important;align-self:start;padding:10px}
.propagation-operations-layout .propagation-band-group h3{margin:0 0 7px;font-size:.9rem}
.propagation-operations-layout .propagation-band-grid{align-content:start;gap:6px}
.propagation-operations-layout .propagation-band{min-height:0;height:auto;padding:7px;line-height:1.1}
@media(min-width:1440px){.solar-image-panel{grid-template-columns:minmax(0,1fr) 270px}.solar-image{max-height:120px !important}.propagation-operations-layout .propagation-band-group{padding:10px}.propagation-operations-layout .propagation-clock-panel{padding:12px}}
@media(max-width:640px){.solar-image-panel{grid-template-columns:1fr}.solar-image{max-height:200px !important}}

/* DiploHAM On-Air 1.9.5 · tarjeta multimedia reloj + imagen solar */
.propagation-media-card{display:grid;grid-template-columns:minmax(230px,.9fr) minmax(300px,1.1fr);gap:12px;align-items:stretch;margin:10px 0;padding:10px;border:1px solid var(--line);border-radius:14px;background:linear-gradient(135deg,rgba(7,38,64,.96),rgba(8,48,77,.88));box-shadow:inset 0 0 0 1px rgba(255,255,255,.035)}
.propagation-media-card .propagation-clock-panel{grid-column:1;margin:0;padding:8px;min-height:0;display:flex;align-items:stretch}
.propagation-media-card .propagation-large-clock-host{width:100%;min-height:0;display:flex;align-items:stretch}
.propagation-media-card .dual-clock-screen{width:100%;min-height:0 !important;height:auto;display:grid;grid-template-columns:1fr;grid-template-rows:1fr 1fr;gap:6px;padding:8px 10px}
.propagation-media-card .dual-clock-block{min-height:0;padding:7px 9px;display:grid;grid-template-columns:auto 1fr;align-items:center;gap:8px}
.propagation-media-card .dual-clock-label{justify-self:start;font-size:.78rem;padding:4px 7px}.propagation-media-card .dual-clock-value{justify-self:end;font-size:clamp(1.7rem,3.2vw,2.8rem);line-height:1}
.propagation-media-card .solar-image-panel{grid-column:2;display:grid;grid-template-columns:minmax(0,1fr) minmax(180px,230px);gap:10px;margin:0;padding:8px 10px;border:0;background:transparent;box-shadow:none;align-items:center}
.propagation-media-card .solar-image-heading{padding-top:0}.propagation-media-card .solar-image{max-height:118px !important}.propagation-media-card .solar-image-meta{font-size:.58rem}
@media(max-width:860px){.propagation-media-card{grid-template-columns:1fr}.propagation-media-card .propagation-clock-panel,.propagation-media-card .solar-image-panel{grid-column:1}.propagation-media-card .solar-image-panel{grid-template-columns:minmax(0,1fr) minmax(220px,300px)}}
@media(max-width:560px){.propagation-media-card .solar-image-panel{grid-template-columns:1fr}.propagation-media-card .dual-clock-value{font-size:1.7rem}}

/* DiploHAM On-Air 1.9.6 · UTC arriba, LOCAL abajo y relojes ampliados */
.propagation-media-card .propagation-clock-panel{min-width:0;min-height:0}
.propagation-media-card .propagation-large-clock-host .dual-clock{width:100%;height:100%;display:grid;grid-template-columns:1fr !important;grid-template-rows:repeat(2,minmax(0,1fr));gap:8px}
.propagation-media-card .propagation-large-clock-host .dual-clock-screen{min-height:0 !important;height:auto;padding:10px 12px;gap:10px;grid-template-columns:max-content minmax(0,1fr);align-items:center}
.propagation-media-card .propagation-large-clock-host .dual-clock-value{font-size:clamp(2.35rem,4.8vw,4.6rem);letter-spacing:.055em;line-height:1;white-space:nowrap}
.propagation-media-card .propagation-large-clock-host .dual-clock-label{font-size:clamp(.72rem,1vw,.95rem);padding:6px 8px}
.propagation-media-card .solar-image-panel{grid-template-columns:minmax(0,1fr) minmax(200px,270px)}
.propagation-media-card .solar-image{max-height:220px !important}
@media(max-width:860px){.propagation-media-card .propagation-large-clock-host .dual-clock-value{font-size:clamp(2.1rem,8vw,3.8rem)}}
@media(max-width:560px){.propagation-media-card .propagation-large-clock-host .dual-clock-value{font-size:clamp(1.8rem,12vw,3rem)}}

/* DiploHAM On-Air 1.9.7 · dígitos e imagen solar ampliados */
.propagation-media-card .propagation-large-clock-host .dual-clock-value{font-size:clamp(3.2rem,6.8vw,7rem);font-weight:850;letter-spacing:.06em;text-shadow:0 0 16px rgba(83,224,248,.5)}
.propagation-media-card .propagation-large-clock-host .dual-clock-screen{padding:12px 16px}
.propagation-media-card .solar-image-panel{align-items:stretch;grid-template-columns:minmax(0,1fr) minmax(260px,330px)}
.propagation-media-card .solar-image-figure{height:100%;min-height:0;display:flex;flex-direction:column;align-items:stretch;justify-content:center}
.propagation-media-card .solar-image{width:100%;height:100%;min-height:0;max-height:none !important;flex:1 1 auto;object-fit:contain}
.propagation-media-card .solar-image-meta{flex:0 0 auto}
@media(max-width:860px){.propagation-media-card .propagation-large-clock-host .dual-clock-value{font-size:clamp(2.8rem,10vw,5.5rem)}.propagation-media-card .solar-image-panel{grid-template-columns:minmax(0,1fr) minmax(250px,360px)}}
@media(max-width:560px){.propagation-media-card .propagation-large-clock-host .dual-clock-value{font-size:clamp(2.4rem,15vw,4.4rem)}.propagation-media-card .solar-image-panel{grid-template-columns:1fr}.propagation-media-card .solar-image{height:auto;max-height:300px !important}}

/* DiploHAM On-Air 1.9.8 · reloj centrado e imagen solar sin bandas */
.propagation-media-card .propagation-large-clock-host .dual-clock-screen{position:relative;display:grid;grid-template-columns:1fr !important;grid-template-rows:1fr !important;place-items:center;padding:16px 24px}
.propagation-media-card .propagation-large-clock-host .dual-clock-label{position:absolute;top:12px;left:14px;z-index:2;margin:0;font-size:clamp(.82rem,1.1vw,1.1rem);padding:6px 9px}
.propagation-media-card .propagation-large-clock-host .dual-clock-value{grid-area:1 / 1;justify-self:center;align-self:center;text-align:center;font-size:clamp(4.8rem,9vw,9rem);line-height:.95;letter-spacing:.06em;white-space:nowrap}
.propagation-media-card .solar-image-panel{align-items:stretch}
.propagation-media-card .solar-image-figure{height:100%;min-height:0;display:flex;align-items:center;justify-content:center;overflow:hidden}
.propagation-media-card .solar-image{display:block;width:auto;height:auto;max-width:100%;max-height:calc(100% - 20px);min-height:0;flex:0 1 auto;object-fit:contain;background:transparent}
.propagation-media-card .solar-image-meta{width:100%;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
@media(max-width:860px){.propagation-media-card .propagation-large-clock-host .dual-clock-value{font-size:clamp(4rem,13vw,7rem)}}
@media(max-width:560px){.propagation-media-card .propagation-large-clock-host .dual-clock-value{font-size:clamp(3.2rem,17vw,5.2rem)}.propagation-media-card .propagation-large-clock-host .dual-clock-label{top:9px;left:10px;font-size:.75rem}}

/* DiploHAM On-Air 1.9.9 · contexto y fuente oficial de la imagen solar */
.propagation-media-card .solar-image-source{margin:10px 0 0;color:#b6d9e7;font-size:.78rem;line-height:1.45;max-width:58ch}
.propagation-media-card .solar-image-source-link{display:inline-block;margin-top:9px;color:#9cecff;font-size:.76rem;font-weight:800;text-decoration:underline;text-underline-offset:3px}
.propagation-media-card .solar-image-source-link:hover,.propagation-media-card .solar-image-source-link:focus-visible{color:#fff}
@media(max-width:860px){.propagation-media-card .solar-image-source{font-size:.75rem}}

/* DiploHAM On-Air 1.9.10 · columna editorial solar justificada */
.propagation-media-card .solar-image-heading{height:100%;display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start}
.propagation-media-card .solar-image-source{flex:1 1 auto;margin:12px 0 0;max-width:none;text-align:justify;text-justify:inter-word;hyphens:auto;line-height:1.48;font-size:.78rem;white-space:pre-line}
.propagation-media-card .solar-image-source-link{align-self:flex-start;margin-top:10px}
@media(max-width:860px){.propagation-media-card .solar-image-source{font-size:.76rem;line-height:1.42}}

/* DiploHAM On-Air 1.9.11 · texto contenido en la columna central */
.propagation-media-card .solar-image-heading{height:100%;min-width:0;max-height:100%;overflow:hidden;box-sizing:border-box;padding-right:4px}
.propagation-media-card .solar-image-source{flex:0 1 auto;min-height:0;overflow:hidden;margin:11px 0 0;max-width:100%;text-align:justify;text-justify:inter-word;hyphens:auto;line-height:1.42;font-size:clamp(.68rem,.58vw,.8rem);white-space:pre-line}
.propagation-media-card .solar-image-source-link{flex:0 0 auto;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%;font-size:clamp(.66rem,.52vw,.76rem)}

/* DiploHAM On-Air 1.9.12 · filas superior e inferior equiparadas */
@media(min-width:861px){
  .propagation-overview-grid{align-items:stretch}
  .propagation-overview-grid > .propagation-overview,
  .propagation-overview-grid > .propagation-metric{min-height:118px;box-sizing:border-box}
  .propagation-operations-layout{align-items:stretch !important}
  .propagation-operations-layout .propagation-band-group{height:118px;min-height:118px;box-sizing:border-box;align-self:stretch;padding:16px 18px}
  .propagation-operations-layout .propagation-band-group h3{margin-bottom:12px}
  .propagation-operations-layout .propagation-band-grid{align-items:stretch}
  .propagation-operations-layout .propagation-band{min-height:54px;padding:11px 12px}
}

/* DiploHAM On-Air 1.9.13 · todas las bandas visibles */
@media(min-width:1200px){
  .propagation-operations-layout .propagation-band-group{height:118px;min-height:118px;overflow:visible}
}
@media(min-width:861px) and (max-width:1199px){
  .propagation-operations-layout .propagation-band-group{height:auto;min-height:118px;overflow:visible}
  .propagation-operations-layout .propagation-band-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
}

/* DiploHAM On-Air 1.9.14 · altura automática sin recorte de filas */
@media(min-width:861px){
  .propagation-operations-layout .propagation-band-group{height:auto !important;min-height:118px;overflow:visible}
}

/* Estado de servicios: enlace secundario en el pie, no en la navegación principal. */
.site-footer .footer-status-link { border-color: color-mix(in srgb, var(--brand) 58%, var(--line)); color: var(--brand-dark); }
.site-footer .footer-status-link:hover, .site-footer .footer-status-link:focus-visible { border-color: var(--brand); background: color-mix(in srgb, var(--accent) 72%, var(--surface)); }

/* Acceso diferenciado al Plan de Bandas */
.nav-bands{background:linear-gradient(135deg,#e6a72f,#f06b3f)!important;border-color:#ffd56a!important;color:#201307!important;font-weight:900;box-shadow:0 0 0 1px #ffd56a55,0 5px 18px #e6a72f44}.nav-bands:hover,.nav-bands:focus-visible,.nav-bands.active{background:linear-gradient(135deg,#ffd56a,#ff875f)!important;color:#1c1208!important}
