/* Correcciones seguras superpuestas a la compilación v417. */
html, body { background: #06131b; }
html.ea2fmo-modal-open, html.ea2fmo-modal-open body { overflow: hidden !important; overscroll-behavior: none; }
.ownerGatewayActions { display: none !important; }
.ea2fmoRememberLogin { display:flex !important; align-items:center; gap:.7rem; margin:14px 0 0 !important; padding:12px; border:1px solid #376675; border-radius:10px; background:#061a23; cursor:pointer; }
.ea2fmoRememberLogin input { flex:0 0 auto; width:21px !important; height:21px !important; margin:0 !important; accent-color:#39d8e2; }
.ea2fmoRememberLogin span,.ea2fmoRememberLogin b,.ea2fmoRememberLogin small { display:block; }
.ea2fmoRememberLogin small { margin-top:3px; color:#9eb4bd; font-weight:400; }
.ea2fmoOwnerMenuAccess { width: 100%; text-align: left; }
.ea2fmoDiplomaGrid { display: grid !important; grid-template-columns: repeat(auto-fit,minmax(250px,1fr)); gap: .85rem !important; }
.ea2fmoDiplomaGrid > header { grid-column: 1/-1; display: flex; justify-content: space-between; gap: 1rem; align-items: baseline; }
.ea2fmoDiplomaGrid > header b { color: #ffd36b; letter-spacing: .12em; }
.ea2fmoDiplomaGrid > header span { color: #bba878; }
.ea2fmoDiplomaCard { min-width: 0; overflow: hidden; border: 1px solid #9b762f; border-radius: 14px; background: rgba(24,19,8,.48); }
.ea2fmoDiplomaPreview { display: grid !important; place-items: center; width: 100%; height: 180px; padding: 0 !important; border: 0 !important; border-radius: 0 !important; overflow: hidden; background: #071820; }
.ea2fmoDiplomaPreview img, .ea2fmoDiplomaPreview object { width: 100%; height: 100%; object-fit: cover; border: 0; pointer-events: none; }
.ea2fmoDiplomaPreview object { background: #fff; }
.ea2fmoDiplomaInfo { display: grid; gap: .45rem; padding: .8rem; }
.ea2fmoDiplomaInfo h4, .ea2fmoDiplomaInfo p { margin: 0; }
.ea2fmoDiplomaInfo h4 { color: #ffe099; font-size: 1rem; overflow-wrap: anywhere; }
.ea2fmoDiplomaInfo p { color: #b8c8cd; font-size: .86rem; }
.ea2fmoDiplomaActions { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: .4rem; margin-top: .25rem; }
.ea2fmoDiplomaActions a, .ea2fmoDiplomaActions button { display: flex !important; align-items: center; justify-content: center; width: 100%; min-width: 0; min-height: 44px; box-sizing: border-box; padding: .5rem .35rem !important; border: 1px solid #a57b2d !important; border-radius: 8px !important; background: rgba(102,72,18,.28) !important; color: #ffe09a !important; font: inherit; font-size: .84rem; line-height: 1.15; text-align: center; text-decoration: none; cursor: pointer; }
.ea2fmoDiplomaCarousel { display: grid !important; gap: .8rem !important; min-width: 0; }
.ea2fmoDiplomaCarousel > header { display: flex; justify-content: space-between; align-items: center; gap: .75rem; }
.ea2fmoDiplomaCarousel > header > div { display: grid; gap: .2rem; }
.ea2fmoDiplomaCarousel > header b { color: #ffd36b; letter-spacing: .12em; }
.ea2fmoDiplomaCarousel > header span { color: #bba878; }
.ea2fmoDownloadAll { padding: .65rem .8rem !important; border: 1px solid #a57b2d !important; border-radius: 10px !important; color: #ffe09a !important; text-align: center; text-decoration: none; }
.ea2fmoDiplomaTrack { display: flex; width: 100%; min-width: 0; overflow-x: auto; scroll-snap-type: x mandatory; overscroll-behavior-inline: contain; scrollbar-width: none; }
.ea2fmoDiplomaTrack::-webkit-scrollbar { display: none; }
.ea2fmoDiplomaTrack > .ea2fmoDiplomaCard { flex: 0 0 100%; scroll-snap-align: start; scroll-snap-stop: always; }
.ea2fmoDiplomaPreview.isPdf { position: relative; align-content: center; gap: .3rem; color: #ffe09a; text-align: center; background: linear-gradient(145deg,#102c39,#071820); }
.ea2fmoDiplomaPreview.isPdf canvas { display: block; width: 100%; height: 100%; object-fit: contain; background: #fff; }
.ea2fmoDiplomaPreview.isPdf canvas[hidden] { display: none; }
.ea2fmoPdfFallback { display: grid; gap: .3rem; }
.ea2fmoPdfFallback[hidden] { display: none; }
.ea2fmoDiplomaPreview.isPdf b, .ea2fmoDiplomaPreview.isPdf small { display: block; }
.ea2fmoPdfMark { display: inline-grid; place-items: center; width: 48px; height: 58px; margin: 0 auto .3rem; border: 2px solid #ffd36b; border-radius: 5px; font-weight: 700; }
.ea2fmoDiplomaControls { display: grid; grid-template-columns: 44px auto 1fr 44px; align-items: center; gap: .55rem; }
.ea2fmoDiplomaControls button { width: 44px; height: 44px; padding: 0 !important; border: 1px solid #a57b2d !important; border-radius: 50% !important; background: rgba(102,72,18,.28) !important; color: #ffe09a !important; font-size: 1.7rem; }
.ea2fmoDiplomaControls > span { min-width: 4rem; color: #ffe09a; text-align: center; }
.ea2fmoDiplomaDots { display: flex; justify-content: center; gap: .35rem; overflow: hidden; }
.ea2fmoDiplomaDots i { flex: 0 0 7px; width: 7px; height: 7px; border-radius: 50%; background: #66552f; }
.ea2fmoDiplomaDots i.active { background: #ffd36b; transform: scale(1.35); }
@media (max-width: 540px) { .ea2fmoDiplomaCarousel > header { align-items: stretch; flex-direction: column; } .ea2fmoDiplomaPreview { height: 250px; } .ea2fmoDiplomaControls { grid-template-columns: 44px auto 1fr 44px; } .ea2fmoDiplomaActions a, .ea2fmoDiplomaActions button { min-height: 48px; font-size: .8rem; } }
.ddModalBack { overflow: hidden !important; }
.ddModal { max-height: min(88dvh, 920px) !important; overflow-y: auto !important; overscroll-behavior: contain; scrollbar-gutter: stable; }
.ddUploadEnhancement { display: grid; gap: .45rem; min-width: 190px; }
.ddUploadEnhancement label { display: grid; gap: .35rem; color: #9eeef2; font-size: .86rem; }
.ddUploadEnhancement select { min-height: 44px; border: 1px solid #2b7481; border-radius: 10px; background: #071c25; color: #eefcff; padding: .55rem .7rem; }
.ddUploadHint { margin: 0; color: #91aab3; font-size: .78rem; }
.ddPageMenuOptions { display: grid; gap: .7rem; padding: .85rem; border: 1px solid #2b7481; border-radius: 12px; background: rgba(4,25,34,.72); }
.ddPageMenuOptions > label { margin: 0 !important; }
.ddImportStandardMenu, .ddRestoreMenu { width: 100%; min-height: 42px; margin-top: .8rem; border: 1px solid #35d7e5; border-radius: 10px; background: rgba(20,116,126,.18); color: #5be7ee; font-weight: 700; }
.ddRestoreMenu { border-color: #dca84a; color: #ffd36a; background: rgba(132,86,18,.18); }
.ddCustomPage { position: fixed; inset: 0; z-index: 99990; overflow-y: auto; padding: clamp(18px,4vw,54px); background: #06131b; color: #eefcff; }
.ddCustomPage > nav, .ddCustomPage > article { width: min(1080px,100%); margin-inline: auto; }
.ddCustomPage > nav { margin-bottom: 1rem; }
.ddCustomPage > nav a { color: #55e4ed; text-decoration: none; }
.ddCustomPage > article { box-sizing: border-box; padding: clamp(22px,5vw,64px); border: 1px solid #277481; border-radius: 22px; background: #09232d; }
.ddCustomPage small { color: #55e4ed; font-weight: 700; letter-spacing: .16em; }
.ddCustomPage h1 { margin: .5rem 0 1rem; font-size: clamp(2rem,6vw,4.5rem); }
.ddCustomIntro { color: #a9c1c8; font-size: 1.08rem; }
.ddCustomContent { margin-top: 2rem; line-height: 1.7; }
.ddCustomContent img { max-width: 100%; height: auto; }
.ddOriginalPages { margin-block: .85rem !important; }
.ddOriginalPageGrid { display: grid; grid-template-columns: repeat(auto-fit,minmax(210px,1fr)); gap: .55rem; }
.ddOriginalPageGrid a { display: flex; justify-content: space-between; gap: .6rem; padding: .75rem .85rem; border: 1px solid #276c78; border-radius: 11px; background: rgba(6,29,38,.72); color: #eefcff; text-decoration: none; }
.ddOriginalPageGrid a span { color: #55e4ed; font-size: .82rem; }
.ea2fmoContentToolbar { position: fixed; z-index: 100000; left: 50%; bottom: 14px; transform: translateX(-50%); width: min(900px,calc(100vw - 24px)); box-sizing: border-box; display: flex; align-items: center; gap: .75rem; padding: .8rem; border: 1px solid #35d7e5; border-radius: 15px; background: rgba(4,22,30,.97); color: #eefcff; box-shadow: 0 12px 45px #000; }
.ea2fmoContentToolbar span { flex: 1; color: #a8c0c7; }
.ea2fmoContentToolbar button, .ea2fmoContentToolbar a { padding: .65rem .8rem; border: 1px solid #35d7e5; border-radius: 9px; background: #0b3540; color: #71edf2; text-decoration: none; }
.ea2fmoEditingContent h1, .ea2fmoEditingContent h2, .ea2fmoEditingContent h3, .ea2fmoEditingContent h4, .ea2fmoEditingContent p, .ea2fmoEditingContent li, .ea2fmoEditingContent figcaption { cursor: text; }
.ea2fmoEditingContent h1:hover, .ea2fmoEditingContent h2:hover, .ea2fmoEditingContent h3:hover, .ea2fmoEditingContent p:hover { outline: 2px dashed #35d7e5; outline-offset: 4px; }
.ea2fmoTextChanged { outline: 2px solid #65e39e !important; outline-offset: 4px; }
@media (max-width:760px) { .ea2fmoContentToolbar { align-items: stretch; flex-direction: column; } .ea2fmoContentToolbar span { text-align: center; } }
.ddControlHub { margin: 1rem 0; padding: clamp(18px,3vw,30px); border: 1px solid #296978; border-radius: 20px; background: rgba(7,30,40,.88); }
.ddControlHub > small, .ddHubBackbar small { color: #37d9df; font-weight: 700; letter-spacing: .14em; }
.ddControlHub > h2 { margin: .5rem 0 .35rem; font-size: clamp(1.55rem,3vw,2.15rem); }
.ddControlHub > p { margin: 0 0 1rem; color: #9db2ba; }
.ddControlHubGrid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: .75rem; }
.ddControlHubGrid > button { min-height: 112px; display: grid; grid-template-columns: 52px 1fr auto; align-items: center; gap: .85rem; padding: 1rem; border: 1px solid #2a6070; border-radius: 15px; background: #0a2631; color: #eefcff; text-align: left; cursor: pointer; }
.ddControlHubGrid > button:hover { border-color: #35d7e5; transform: translateY(-1px); }
.ddHubIcon { width: 48px; height: 48px; display: grid; place-items: center; border-radius: 12px; background: #123d49; font-size: 1.65rem; }
.ddHubCopy { display: grid; gap: .18rem; }
.ddHubCopy small { color: #54dcae; font-size: .69rem; font-weight: 700; letter-spacing: .12em; }
.ddHubCopy b { font-size: 1.08rem; }
.ddHubCopy em { color: #91a8b0; font-size: .8rem; font-style: normal; }
.ddControlHubGrid > button > strong { color: #35d7e5; font-size: .68rem; white-space: nowrap; }
.ddHubBackbar { align-items: center; gap: 1rem; margin: 1rem 0; padding: .7rem; border-bottom: 1px solid #28616d; }
.ddHubBackbar button { padding: .65rem .9rem; border: 1px solid #35d7e5; border-radius: 9px; background: #0a2a35; color: #65e9ef; font-weight: 700; }
.ddHubBackbar div { display: grid; gap: .15rem; }
.ddHubPlaceholder { margin-block: .85rem !important; }
.ddHubPlaceholder a { display: inline-block; margin-top: .6rem; color: #54e4eb; }
@media (max-width:760px) {
  .ddControlHub { padding: 14px; }
  .ddControlHubGrid { grid-template-columns: 1fr; }
  .ddControlHubGrid > button { min-height: 92px; grid-template-columns: 46px 1fr; }
  .ddControlHubGrid > button > strong { grid-column: 2; }
  .ddHubIcon { width: 44px; height: 44px; }
}

/* v496 · Composición móvil aprobada para las tres puertas principales. */
@media (max-width:700px) {
  body.dondominioReplica .hubLevels { grid-template-columns:repeat(2,minmax(0,1fr)) !important; align-items:stretch !important; gap:9px !important; }
  body.dondominioReplica .hubLevels > * { display:grid !important; grid-template-columns:42px minmax(0,1fr) 15px !important; align-content:center !important; align-items:center !important; min-height:112px !important; padding:12px 10px !important; gap:8px !important; }
  body.dondominioReplica .hubLevels > button > span.levelIcon { width:40px !important; height:40px !important; border-radius:11px !important; }
  body.dondominioReplica .hubLevels > * > div { min-width:0 !important; }
  body.dondominioReplica .hubLevels small { font-size:6px !important; line-height:1.25 !important; letter-spacing:.08em !important; }
  body.dondominioReplica .hubLevels b { margin:4px 0 !important; font-size:13px !important; line-height:1.13 !important; }
  body.dondominioReplica .hubLevels p { display:-webkit-box !important; overflow:hidden !important; font-size:7px !important; line-height:1.35 !important; -webkit-line-clamp:2 !important; -webkit-box-orient:vertical !important; }
  body.dondominioReplica .hubLevels em { font-size:18px !important; }
  body.dondominioReplica .hubLevels .panelLevel::before { top:6px !important; right:8px !important; padding:2px 5px !important; font-size:5px !important; }
}

/* v457 final · EchoLink compacto en el formato móvil aprobado. */
@media (max-width:700px) {
  body.dondominioReplica .ea2fmoEchoLinkZone { box-sizing:border-box !important; width:calc(100% - 32px) !important; min-height:0 !important; margin:12px auto !important; padding:14px 15px !important; border-radius:16px !important; }
  body.dondominioReplica .ea2fmoEchoLinkIntro { grid-template-columns:48px minmax(0,1fr) 40px !important; gap:11px !important; min-height:78px !important; }
  body.dondominioReplica .ea2fmoEchoLinkLogo { width:46px !important; height:46px !important; border-radius:12px !important; }
  body.dondominioReplica .ea2fmoEchoLinkIntro>div { min-width:0 !important; }
  body.dondominioReplica .ea2fmoEchoLinkIntro h2 { margin:4px 0 !important; font-size:19px !important; line-height:1.15 !important; overflow-wrap:anywhere !important; }
  body.dondominioReplica .ea2fmoEchoLinkIntro p { margin:0 !important; font-size:9px !important; line-height:1.4 !important; }
  body.dondominioReplica .ea2fmoEchoLinkToggle { justify-self:end !important; font-size:7px !important; }
  body.dondominioReplica .ea2fmoEchoLinkBody { margin-top:0 !important; }
  body.dondominioReplica .ea2fmoEchoLinkZone.open .ea2fmoEchoLinkBody { margin-top:12px !important; }
}

/* v459 acumulativa · DMR propio, ruta imprimible/CSV y estados del Libro de Guardia. */
body.dondominioReplica .quickQsoBar[data-ea2fmo-qso-card="1"] {
  position:relative; overflow:hidden; border:2px solid #58ddb3 !important;
  background:linear-gradient(135deg,#0a3b31,#09232b 62%,#102f3b) !important;
  box-shadow:0 12px 30px rgba(29,197,153,.16),inset 0 0 0 1px rgba(132,255,220,.08) !important;
}
body.dondominioReplica .quickQsoBar[data-ea2fmo-qso-card="1"]::before { content:'NUEVO QSO'; position:absolute; top:8px; right:10px; padding:4px 7px; border-radius:999px; color:#08251f; background:#67e7bd; font:900 7px/1 system-ui; letter-spacing:.12em; }
.ea2fmoDmrZone { box-sizing:border-box; width:100%; max-width:none; margin:clamp(12px,1.5vw,20px) 0; border:1px solid #7655a7; border-radius:22px; background:linear-gradient(135deg,#211737,#09232d); box-shadow:0 14px 38px rgba(35,15,62,.24); overflow:hidden; }
.ea2fmoDmrZone>header { display:grid; grid-template-columns:58px minmax(0,1fr) auto; align-items:center; gap:13px; padding:17px; cursor:pointer; }
.ea2fmoDmrLogo { display:grid; width:56px; height:56px; place-items:center; border:1px solid #ad84e9; border-radius:14px; color:#f2e8ff; background:#49316b; font:900 14px/1 system-ui; }
.ea2fmoDmrZone small { color:#c7a8f4; font-size:9px; font-weight:900; letter-spacing:.14em; }
.ea2fmoDmrZone h2 { margin:4px 0; color:#fbf7ff; font-size:23px; }
.ea2fmoDmrZone header p,.ea2fmoDmrBody p { margin:0; color:#b9aec8; font-size:12px; line-height:1.5; }
.ea2fmoDmrToggle { color:#d9c4f8; font-size:9px; font-weight:900; }
.ea2fmoDmrBody { display:none; grid-template-columns:minmax(0,1.5fr) minmax(0,1fr); gap:11px; padding:0 17px 17px; }
.ea2fmoDmrZone.open .ea2fmoDmrBody { display:grid; animation:ea2fmoEchoOpen .24s ease both; }
.ea2fmoDmrBody>a,.ea2fmoDmrBody>p { display:grid; gap:5px; padding:14px; border:1px solid #74559d; border-radius:13px; background:#17112a; text-decoration:none; }
.ea2fmoDmrBody>a b { color:#f4eaff; font-size:16px; }.ea2fmoDmrBody>a span { color:#b9aec8; font-size:11px; }.ea2fmoDmrBody>a strong { color:#7ce5df; font-size:10px; }
.ea2fmoRepeaterFacts { margin:9px 0 0; padding:9px 10px; border:1px solid #336574; border-radius:9px; color:#c6e9ed; background:#08232c; font:700 10px/1.45 system-ui,sans-serif; }
.ea2fmoRouteDownloads { display:flex; flex-wrap:wrap; gap:7px; }
.ea2fmoQsoNotice { position:fixed; z-index:30000; left:50%; top:18px; display:grid; grid-template-columns:40px minmax(0,1fr) 30px; width:min(440px,calc(100% - 24px)); align-items:center; gap:10px; padding:13px 12px; color:#effcff; border:1px solid #388392; border-radius:14px; background:#092630; box-shadow:0 18px 60px rgba(0,0,0,.55); transform:translateX(-50%); animation:ea2fmoNoticeIn .2s ease both; }
.ea2fmoQsoNotice>span { display:grid; width:36px; height:36px; place-items:center; border-radius:50%; background:#194653; font-size:20px; font-weight:900; }.ea2fmoQsoNotice b { display:block; font-size:14px; }.ea2fmoQsoNotice p { margin:3px 0 0; color:#b6cbd0; font-size:11px; line-height:1.4; }.ea2fmoQsoNotice>button { grid-column:3; grid-row:1; width:28px; height:28px; color:#b9d3d8; border:0; background:transparent; font-size:22px; cursor:pointer; }
.ea2fmoQsoNotice.success { border-color:#4cce9f; }.ea2fmoQsoNotice.success>span { color:#06291f; background:#65e2b7; }.ea2fmoQsoNotice.warning { border-color:#c99836; background:#33280f; }.ea2fmoQsoNotice.warning>span { color:#342300; background:#f3c35e; }.ea2fmoQsoNotice.error { border-color:#d55b68; background:#39191e; }.ea2fmoQsoNotice.error>span { background:#b83e4d; }.ea2fmoQsoNotice.sync>span { color:#05252a; background:#58d9e2; }
@keyframes ea2fmoNoticeIn { from { opacity:0; transform:translate(-50%,-14px); } to { opacity:1; transform:translate(-50%,0); } }
@media(max-width:700px){.ea2fmoDmrZone>header{grid-template-columns:48px minmax(0,1fr) auto;padding:14px;}.ea2fmoDmrLogo{width:46px;height:46px;font-size:11px}.ea2fmoDmrZone h2{font-size:19px}.ea2fmoDmrZone header p{font-size:10px}.ea2fmoDmrBody{grid-template-columns:1fr;padding:0 14px 14px}.ea2fmoRouteDownloads{display:grid;width:100%;grid-template-columns:1fr 1fr}.ea2fmoRouteDownloads button{width:100%}.ea2fmoQsoNotice{top:10px}.routeBuilder{grid-template-columns:1fr !important}}

/* v466 · tarjeta DMR alineada y sin recortes en móvil. */
body.dondominioReplica .ea2fmoDmrZone{width:calc(100% - 30px)!important;margin:18px auto 22px!important;overflow:hidden!important}
body.dondominioReplica .ea2fmoDmrZone>header{box-sizing:border-box;min-height:118px!important;padding:17px 16px!important;align-items:center!important}
body.dondominioReplica .ea2fmoDmrZone:not(.open) .ea2fmoDmrBody{display:none!important}
@media(max-width:700px){body.dondominioReplica .ea2fmoDmrZone>header{grid-template-columns:54px minmax(0,1fr) auto!important;gap:12px!important;min-height:126px!important}body.dondominioReplica .ea2fmoDmrLogo{width:52px!important;height:52px!important}body.dondominioReplica .ea2fmoDmrZone h2{font-size:21px!important;line-height:1.15!important}body.dondominioReplica .ea2fmoDmrZone header p{display:block!important;margin-top:5px!important;font-size:10px!important}body.dondominioReplica .ea2fmoDmrToggle{align-self:center!important;white-space:nowrap!important}}

/* v460 · mapa real, base colaborativa y correcciones de repetidores. */
a[href*="repeaterbook" i] { display:none!important; }
body.dondominioReplica [data-ea2fmo-repeater-tech].ea2fmoRepeaterAlt { background-color:rgba(22,61,72,.52)!important; box-shadow:inset 4px 0 #2fbba9!important; }
.ea2fmoOwnSource { color:#8faab1!important; font-size:9px!important; line-height:1.45!important; }
.ea2fmoLeafletMap { position:absolute; inset:0; z-index:1; min-height:260px; background:#10242b; }
.ea2fmoMapStatus { position:absolute; z-index:500; left:10px; bottom:8px; max-width:calc(100% - 145px); margin:0!important; padding:5px 8px; color:#dffbff!important; border-radius:7px; background:rgba(3,22,28,.86); font-size:8px!important; pointer-events:none; }
.ea2fmoMapExpand { z-index:600!important; }
.ea2fmoMapPopup { display:grid; gap:4px; min-width:150px; color:#17313a; }.ea2fmoMapPopup button{padding:3px 0;color:#006b7a;border:0;background:transparent;font-weight:900;text-align:left;cursor:pointer}.ea2fmoMapPopup small{display:block;color:#52676d}
.ea2fmoCorrectionBack,.ea2fmoDownloadBack { position:fixed; z-index:50000; inset:0; display:grid; place-items:center; padding:14px; background:rgba(1,10,15,.88); backdrop-filter:blur(5px); }
.ea2fmoCorrection { box-sizing:border-box; width:min(760px,100%); max-height:92dvh; overflow:auto; padding:20px; color:#edfaff; border:1px solid #3aa894; border-radius:19px; background:#082630; box-shadow:0 25px 90px #000; }
.ea2fmoCorrection header{display:flex;justify-content:space-between;gap:15px}.ea2fmoCorrection header small,.ea2fmoDownloadBack small{color:#60e2bf;font-size:9px;font-weight:900;letter-spacing:.14em}.ea2fmoCorrection h2,.ea2fmoDownloadBack h2{margin:5px 0}.ea2fmoCorrection header p,.ea2fmoDownloadBack p{margin:0;color:#9fb8be;font-size:11px}.ea2fmoCorrection [data-close],.ea2fmoDownloadBack [data-close]{width:40px;height:40px;color:#b8d5da;border:1px solid #356674;border-radius:10px;background:#0a303b;font-size:23px;cursor:pointer}
.ea2fmoCorrectionGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:17px}.ea2fmoCorrectionGrid label{display:grid;gap:5px;color:#b8d4d9;font-size:10px}.ea2fmoCorrectionGrid .wide{grid-column:1/-1}.ea2fmoCorrectionGrid input,.ea2fmoCorrectionGrid select,.ea2fmoCorrectionGrid textarea{box-sizing:border-box;width:100%;min-height:43px;padding:9px;color:#effcff;border:1px solid #326574;border-radius:9px;background:#061a23;font:inherit}.ea2fmoCorrection footer{display:flex;justify-content:flex-end;gap:8px;margin-top:14px}.ea2fmoCorrection footer button,.ea2fmoDownloadBack section>button:not([data-close]){min-height:42px;padding:9px 13px;color:#dffcf5;border:1px solid #3ab998;border-radius:9px;background:#155343;font-weight:800;cursor:pointer}.ea2fmoCorrectionMessage{color:#ffc96a}.ea2fmoCorrectionMessage.success{color:#67e4b8}
.ea2fmoDownloadBack section{position:relative;box-sizing:border-box;width:min(470px,100%);padding:22px;color:#eefcff;border:1px solid #39ac99;border-radius:18px;background:#082630}.ea2fmoDownloadBack section>[data-close]{position:absolute;right:14px;top:14px}.ea2fmoDownloadBack section>button:not([data-close]){width:100%;margin-top:9px}
@media(max-width:700px){.ea2fmoCorrectionGrid{grid-template-columns:1fr}.ea2fmoCorrectionGrid .wide{grid-column:auto}.ea2fmoCorrection{padding:15px}.ea2fmoLeafletMap{min-height:220px}}

/* v455 · SOTA doble acceso, EchoLink plegable, mapa interno y Hoseline. */
.ea2fmoEchoLinkIntro { cursor:pointer; }
.ea2fmoEchoLinkToggle { margin-left:auto; color:#9ff4dc; font-size:9px; font-weight:850; letter-spacing:.09em; white-space:nowrap; }
.ea2fmoEchoLinkBody { max-height:0; opacity:0; overflow:hidden; transition:max-height .38s ease,opacity .24s ease,margin .32s ease; }
.ea2fmoEchoLinkZone.open .ea2fmoEchoLinkBody { max-height:720px; opacity:1; margin-top:2px; }
.ea2fmoSotaSchedule { color:#dfc9ff!important; background:#251a3a!important; }
.ea2fmoSotaScheduleFields { grid-column:1/-1; display:grid!important; grid-template-columns:repeat(2,minmax(0,1fr)); gap:11px!important; justify-content:stretch!important; }
.ea2fmoSotaPlanned { border-color:#7961a0!important; background:#17172c!important; }
.ea2fmoSotaPlanned small { color:#d9b5ff!important; }
.ea2fmoDmrLiveCard { box-sizing:border-box; min-height:116px; display:grid; grid-template-columns:52px minmax(0,1fr) auto; gap:13px; align-items:center; padding:15px; color:inherit; text-decoration:none; border:1px solid #8a6921; border-radius:13px; background:linear-gradient(145deg,#30260d,#0a1821); transition:transform .18s ease,border-color .18s ease; }
.ea2fmoDmrLiveCard:hover,.ea2fmoDmrLiveCard:focus-visible { transform:translateY(-1px); border-color:#e5b84f; }
.ea2fmoDmrLiveIcon { width:50px; height:50px; display:grid; place-items:center; color:#ffe3a0; border:1px solid #8f6a1b; border-radius:12px; background:#3a2b0e; font-size:11px; font-weight:900; }
.ea2fmoDmrLiveCard small { display:block; color:#efbe50; font-size:8px; font-weight:850; letter-spacing:.12em; }
.ea2fmoDmrLiveCard b { display:block; margin:5px 0; font-size:15px; }
.ea2fmoDmrLiveCard p { margin:0; color:#9cacb1; font-size:10px; line-height:1.45; }
.ea2fmoDmrLiveCard strong { color:#efbe50; font-size:9px; white-space:nowrap; }
@media (max-width:700px) {
  .ea2fmoEchoLinkIntro { grid-template-columns:50px minmax(0,1fr) auto; }
  .ea2fmoEchoLinkToggle { align-self:center; }
  .ea2fmoSotaScheduleFields { grid-template-columns:minmax(0,1fr); }
  .ea2fmoDmrLiveCard { grid-template-columns:46px minmax(0,1fr); }
  .ea2fmoDmrLiveCard strong { grid-column:2; }
}

.eaImportNotice{position:fixed;left:50%;bottom:22px;z-index:10050;max-width:min(540px,calc(100% - 30px));transform:translateX(-50%);padding:14px 18px;border:1px solid #31ba83;border-radius:14px;background:#0b382e;color:#bfffe1;font:700 15px/1.4 system-ui;box-shadow:0 16px 48px #000b}.eaImportNotice.error{border-color:#efb74f;background:#3a2b0d;color:#ffe5a7}

/* v447 · Libro de guardia completo y utilizable en DonDominio. */
body.dondominioReplica .logbookModal,
body.dondominioReplica .qsoList,
body.dondominioReplica .qsoList article { min-width: 0; box-sizing: border-box; }
body.dondominioReplica .logbookModal { overflow-x: hidden; }
body.dondominioReplica .qsoList article > div:nth-child(2) { min-width: 0; }
body.dondominioReplica .qsoList article > div:nth-child(2) small { overflow-wrap: anywhere; }
body.dondominioReplica .qsoRowActions { min-width: 0; flex-wrap: wrap; justify-content: flex-end; }
body.dondominioReplica .qsoRowActions > button,
body.dondominioReplica .qsoRowActions > label { min-height: 38px; }

@media (max-width: 700px) {
  body.dondominioReplica .qsoList article {
    grid-template-columns: 72px minmax(0, 1fr) !important;
    align-items: start !important;
    gap: 10px !important;
    padding: 12px !important;
  }
  body.dondominioReplica .qsoList time { padding-top: 4px; font-size: 9px !important; }
  body.dondominioReplica .qsoContactHeading { min-width: 0; }
  body.dondominioReplica .qsoRowActions {
    grid-column: 1 / -1;
    width: 100%;
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 7px !important;
    margin-top: 3px;
  }
  body.dondominioReplica .qsoRowActions > button,
  body.dondominioReplica .qsoRowActions > label,
  body.dondominioReplica .qsoRowActions .viewStoredQsl,
  body.dondominioReplica .qsoRowActions .receivedQslButton,
  body.dondominioReplica .qsoRowActions .outgoingQslButton,
  body.dondominioReplica .qsoRowActions .qslSentToggle,
  body.dondominioReplica .qsoRowActions .qrzRowSync,
  body.dondominioReplica .qsoRowActions .attachReceivedQsl {
    box-sizing: border-box;
    width: 100% !important;
    min-width: 0;
    height: 44px !important;
    padding: 0 7px !important;
    place-items: center;
    justify-content: center;
    white-space: normal !important;
    font-size: 8px !important;
    line-height: 1.15;
    text-align: center;
  }
  body.dondominioReplica .qsoRowActions > button:last-child {
    color: #ff9aa1;
    background: #35181e;
    border-color: #7c3b46;
  }
}

/* v449 · Tarjetas principales a todo el ancho y nueva zona EchoLink. */
body.dondominioReplica .hubLevels { box-sizing:border-box!important; width:100%!important; max-width:none!important; grid-template-columns:repeat(3,minmax(0,1fr))!important; gap:clamp(10px,1.2vw,18px)!important; }
body.dondominioReplica .hubLevels { align-items:stretch!important; grid-auto-rows:1fr!important; }
body.dondominioReplica .hubLevels > * { box-sizing:border-box!important; display:flex!important; flex-direction:column!important; align-self:stretch!important; width:100%!important; min-width:0!important; max-width:none!important; min-height:166px!important; height:100%!important; margin:0!important; }
body.dondominioReplica .hubLevels > * > :last-child { margin-top:auto; }
.ea2fmoEchoLinkZone { box-sizing:border-box; position:relative; width:100%; margin:clamp(12px,1.5vw,20px) 0; padding:clamp(17px,2.2vw,28px); color:#eefcff; border:1px solid #288b82; border-radius:22px; background:radial-gradient(circle at 8% 0,rgba(31,185,168,.2),transparent 35%),linear-gradient(135deg,rgba(7,43,49,.98),rgba(8,26,39,.98)); box-shadow:inset 0 0 32px rgba(39,222,210,.045); }
.ea2fmoEchoLinkIntro { display:grid; grid-template-columns:auto minmax(0,1fr); align-items:center; gap:16px; }
.ea2fmoEchoLinkLogo { display:grid; place-items:center; width:64px; height:64px; color:#78f4d3; border:1px solid #329d8c; border-radius:17px; background:#103f3d; font-size:25px; font-weight:800; }
.ea2fmoEchoLinkIntro small,.ea2fmoEchoLinkActions small { color:#65eac6; font-size:8px; font-weight:850; letter-spacing:.16em; }
.ea2fmoEchoLinkIntro h2 { margin:4px 0 6px; font-size:clamp(21px,2.2vw,31px); }
.ea2fmoEchoLinkIntro p { max-width:820px; margin:0; color:#9eb8be; font-size:11px; line-height:1.55; }
.ea2fmoEchoLinkActions { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; margin-top:18px; }
.ea2fmoEchoLinkActions a { box-sizing:border-box; display:grid; grid-template-columns:minmax(0,1fr) auto; gap:4px 16px; min-width:0; padding:16px 18px; color:#eefcff; text-decoration:none; border:1px solid #2d716f; border-radius:15px; background:rgba(6,28,36,.78); transition:transform .18s ease,border-color .18s ease,background .18s ease; }
.ea2fmoEchoLinkActions a:hover,.ea2fmoEchoLinkActions a:focus-visible { transform:translateY(-2px); border-color:#64e7c4; background:rgba(11,50,54,.92); }
.ea2fmoEchoLinkActions small,.ea2fmoEchoLinkActions span { grid-column:1; }
.ea2fmoEchoLinkActions b { grid-column:1; font-size:17px; }
.ea2fmoEchoLinkActions span { color:#96adb4; font-size:10px; }
.ea2fmoEchoLinkActions strong { grid-column:2; grid-row:1 / 4; align-self:center; color:#72efd0; font-size:9px; letter-spacing:.08em; }
.ea2fmoEchoLinkActions code { color:#a8f9e1; font-family:inherit; }
.ea2fmoEchoLinkActivities { display:inline-block; margin-top:13px; color:#74e8ee; font-size:9px; font-weight:800; letter-spacing:.07em; text-decoration:none; }
.ea2fmoSectionShare { position:absolute; top:16px; right:16px; display:flex; align-items:center; gap:6px; padding:8px 11px; color:#72efd0; border:1px solid #377b76; border-radius:10px; background:#0a3037; cursor:pointer; }
.ea2fmoSotaZone { box-sizing:border-box; width:100%; margin:clamp(12px,1.5vw,20px) 0; padding:clamp(17px,2.2vw,28px); color:#f8f4ff; border:1px solid #8f6bd1; border-radius:22px; background:radial-gradient(circle at 10% 0,rgba(147,91,219,.25),transparent 38%),linear-gradient(135deg,rgba(35,23,61,.98),rgba(8,27,40,.98)); }
.ea2fmoSotaZone>header { display:grid; grid-template-columns:auto minmax(0,1fr) auto auto auto; align-items:center; gap:12px; cursor:pointer; }
.ea2fmoSotaLogo { display:grid; place-items:center; width:64px; height:64px; color:#d2b3ff; border:1px solid #8f67ca; border-radius:17px; background:#30204b; font-size:28px; }
.ea2fmoSotaZone header small { color:#c49aff; font-size:8px; font-weight:850; letter-spacing:.16em; }
.ea2fmoSotaZone h2 { margin:4px 0 6px; font-size:clamp(22px,2.4vw,33px); }
.ea2fmoSotaZone header p { margin:0; color:#afa8bd; font-size:11px; line-height:1.5; }
.ea2fmoSotaShare { width:42px; height:42px; color:#d5b5ff; border:1px solid #7956ad; border-radius:11px; background:#281b3c; cursor:pointer; }
.ea2fmoSotaCount { padding:7px 10px; color:#70efb5; border:1px solid #347a62; border-radius:999px; background:#102e29; font-size:9px; font-weight:850; white-space:nowrap; }
.ea2fmoSotaToggle { color:#d2b8f2; font-size:9px; font-weight:850; letter-spacing:.1em; white-space:nowrap; }
.ea2fmoSotaBody[hidden] { display:none!important; }
.ea2fmoSotaActions { display:flex; flex-wrap:wrap; gap:10px; margin-top:18px; }
.ea2fmoSotaActions button,.ea2fmoSotaActions a { box-sizing:border-box; min-height:44px; padding:12px 17px; color:#fff; border:1px solid #976bd0; border-radius:11px; background:#4c2b75; font-size:10px; font-weight:850; text-decoration:none; cursor:pointer; }
.ea2fmoSotaActions a { color:#ceb5eb; background:#171b31; }
.ea2fmoSotaForm { grid-template-columns:repeat(3,minmax(0,1fr)); gap:11px; margin-top:17px; padding:16px; border:1px solid #624993; border-radius:15px; background:rgba(8,17,29,.86); }
.ea2fmoSotaForm:not([hidden]) { display:grid; }
.ea2fmoSotaForm label { display:grid; gap:6px; color:#bfb6ca; font-size:9px; font-weight:750; }
.ea2fmoSotaForm input,.ea2fmoSotaForm select { box-sizing:border-box; width:100%; min-height:42px; padding:9px 11px; color:#f4f0fa; border:1px solid #4b4867; border-radius:9px; background:#091923; }
.ea2fmoSotaComment,.ea2fmoSotaForm>div,.ea2fmoSotaMessage { grid-column:1/-1; }
.ea2fmoSotaWatchOption { grid-column:1/-1; display:flex!important; grid-template-columns:none!important; align-items:center; gap:9px!important; padding:10px; border:1px solid #514268; border-radius:10px; background:#111828; }
.ea2fmoSotaWatchOption input { width:18px!important; min-height:18px!important; accent-color:#936aca; }
.ea2fmoSotaForm>div { display:flex; justify-content:flex-end; gap:9px; }
.ea2fmoSotaForm button { padding:10px 14px; color:#fff; border:1px solid #936aca; border-radius:9px; background:#4b2b72; cursor:pointer; }
.ea2fmoSotaGps { grid-column:1/-1; display:flex!important; align-items:center; justify-content:flex-start!important; flex-wrap:wrap; gap:10px; padding:10px; border:1px dashed #675184; border-radius:10px; }
.ea2fmoSotaGps span { color:#aaa3b5; font-size:9px; }
.ea2fmoSotaMessage { margin:0; color:#e1caff; }
.ea2fmoSotaLive { display:grid; grid-template-columns:minmax(260px,.85fr) minmax(0,1.15fr); gap:12px; margin-top:17px; }
.ea2fmoSotaMap,.ea2fmoSotaList { min-height:180px; padding:12px; border:1px solid #4f4569; border-radius:14px; background:rgba(4,19,28,.75); }
.ea2fmoSotaMap iframe { display:block; width:100%; height:190px; border:0; border-radius:9px; }
.ea2fmoSotaMap a { display:inline-block; margin-top:8px; color:#c9a8f1; font-size:9px; }
.ea2fmoSotaList { display:grid; gap:9px; align-content:start; max-height:300px; overflow:auto; }
.ea2fmoSotaList article { padding:12px; border:1px solid #51496d; border-radius:11px; background:#0b1d29; }
.ea2fmoSotaList article small { color:#66e9b3; font-size:7px; letter-spacing:.12em; }
.ea2fmoSotaList h3 { margin:5px 0; font-size:16px; }
.ea2fmoSotaList b { color:#d1b0f7; }
.ea2fmoSotaList p { margin:6px 0; color:#9ea7af; font-size:9px; }
.ea2fmoSotaList button { padding:7px 9px; color:#cbb0ec; border:1px solid #6d5195; border-radius:8px; background:#221a35; cursor:pointer; }
.ea2fmoSotaLog { margin-top:14px; padding:13px; border:1px solid #57446f; border-radius:13px; background:rgba(6,19,29,.78); }
.ea2fmoSotaLog summary { color:#d2b5f4; font-weight:800; cursor:pointer; }
.ea2fmoSotaLog form { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:9px; margin-top:13px; }
.ea2fmoSotaLog label { display:grid; gap:5px; color:#aca4b9; font-size:8px; }
.ea2fmoSotaLog input,.ea2fmoSotaLog select { box-sizing:border-box; width:100%; min-height:40px; padding:8px; color:#eef; border:1px solid #4d4663; border-radius:8px; background:#091923; }
.ea2fmoSotaLog button { min-height:40px; color:#fff; border:1px solid #7955a8; border-radius:8px; background:#422663; cursor:pointer; }
.ea2fmoSotaLogMessage { color:#9fb0b5; font-size:9px; }
.ea2fmoSotaLog ol { display:grid; gap:6px; padding-left:22px; }
.ea2fmoSotaLog li { padding:7px; color:#bfa7db; border-bottom:1px solid #3a3548; }
.ea2fmoSotaLog li span { margin-left:10px; color:#93a7ae; font-size:9px; }
.ea2fmoSotaHistory { margin-top:14px; }
.ea2fmoSotaHistory>header { display:flex; gap:8px; }
.ea2fmoSotaHistory>header button { min-height:40px; padding:9px 13px; color:#aaa3ba; border:1px solid #514268; border-radius:9px; background:#111b2a; cursor:pointer; }
.ea2fmoSotaHistory>header button.active { color:#fff; border-color:#9c73d3; background:#4a2b70; }
.ea2fmoSotaHistory>div { margin-top:10px; }
.ea2fmoSotaHistory input { box-sizing:border-box; width:100%; min-height:42px; padding:9px 12px; color:#eef; border:1px solid #504465; border-radius:9px; background:#091923; }
.ea2fmoSotaHistoryList { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:9px; margin-top:10px; }
.ea2fmoSotaHistoryList article { padding:12px; border:1px solid #4d4261; border-radius:11px; background:#0a1b28; }
.ea2fmoSotaHistoryList small { color:#bd9ae8; font-size:7px; letter-spacing:.12em; }
.ea2fmoSotaHistoryList h3 { margin:5px 0; }
.ea2fmoSotaHistoryList p { color:#96a6ac; font-size:9px; }
.ea2fmoSotaHistoryList button { padding:7px 9px; color:#cfb2f0; border:1px solid #675087; border-radius:8px; background:#211833; cursor:pointer; }
.ea2fmoSiteLikes { box-sizing:border-box; display:flex; align-items:center; justify-content:center; flex-wrap:wrap; gap:12px 18px; width:min(1180px,calc(100% - 32px)); margin:24px auto; padding:17px; color:#edfaff; border:1px solid #286575; border-radius:16px; background:#081e29; }
.ea2fmoSiteLikes>div { display:grid; gap:3px; margin-right:auto; }
.ea2fmoSiteLikes small { color:#4adce6; font-size:7px; letter-spacing:.14em; }
.ea2fmoSiteLikes button { min-height:42px; padding:10px 15px; color:#b9d2da; border:1px solid #356474; border-radius:10px; background:#0b2935; cursor:pointer; }
.ea2fmoSiteLikes .liked { color:#ffb0c1; border-color:#a25069; background:#3a1b2a; }
@media (max-width:700px) {
  body.dondominioReplica .hubLevels { grid-template-columns:minmax(0,1fr)!important; }
  body.dondominioReplica .hubLevels > * { min-height:150px!important; }
  .ea2fmoEchoLinkZone { border-radius:18px; }
  .ea2fmoEchoLinkIntro { grid-template-columns:50px minmax(0,1fr); gap:12px; }
  .ea2fmoEchoLinkLogo { width:48px; height:48px; border-radius:13px; font-size:19px; }
  .ea2fmoEchoLinkActions { grid-template-columns:minmax(0,1fr); }
  .ea2fmoEchoLinkActions a { min-height:104px; }
  .ea2fmoSectionShare span { display:none; }
  .ea2fmoSotaZone { border-radius:18px; }
  .ea2fmoSotaZone>header { grid-template-columns:48px minmax(0,1fr) 38px; gap:10px; }
  .ea2fmoSotaCount { grid-column:2; justify-self:start; }
  .ea2fmoSotaToggle { grid-column:3; grid-row:2; }
  .ea2fmoSotaLogo { width:46px; height:46px; border-radius:12px; font-size:21px; }
  .ea2fmoSotaForm,.ea2fmoSotaLive { grid-template-columns:minmax(0,1fr); }
  .ea2fmoSotaLog form { grid-template-columns:minmax(0,1fr); }
  .ea2fmoSotaHistoryList { grid-template-columns:minmax(0,1fr); }
  .ea2fmoSotaActions>* { width:100%; text-align:center; }
  .ea2fmoSiteLikes>div { width:100%; margin:0; text-align:center; }
  .ea2fmoSiteLikes button { flex:1; }
}

/* v452 · Identificación visible de repetidores digitales. */
.ea2fmoRepeaterDigital { position:relative; }
.ea2fmoRepeaterTechnology { display:inline-flex; align-items:center; gap:6px; width:max-content; max-width:100%; margin:7px 0; padding:5px 9px; color:#d9c8ff; border:1px solid #7655a6; border-radius:999px; background:#271b3b; font:800 9px/1.2 system-ui,sans-serif; letter-spacing:.08em; text-transform:uppercase; }
.ea2fmoRepeaterTechnology[data-tech="DMR"] { color:#ffe5a3; border-color:#99701f; background:#35270c; }
.ea2fmoRepeaterTechnology[data-tech="D-STAR"] { color:#bfe9ff; border-color:#397a9b; background:#0d2b3b; }
.ea2fmoRepeaterTechnology[data-tech="C4FM / FUSION"] { color:#c8ffe0; border-color:#3b8b63; background:#103324; }
.ea2fmoRepeaterTechnology[data-tech="DIGITAL"] { color:#ebd5ff; border-color:#7655a6; background:#271b3b; }
.ddReferralStats { grid-column: 1 / -1; padding: 1rem !important; text-align: left; }
.ddReferralStats > header { display: flex; justify-content: space-between; align-items: center; gap: 1rem; margin-bottom: .8rem; }
.ddReferralStats > header div { display: grid; gap: .2rem; }
.ddReferralStats > header small { color: #50e1e8; letter-spacing: .1em; }
.ddReferralStats > header b { font-size: 1.08rem; }
.ddReferralStats button { min-height: 40px; padding: .55rem .75rem; border: 1px solid #358390; border-radius: 9px; background: #0a2b36; color: #68e6ec; cursor: pointer; }
.ddReferralTotals { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: .65rem; margin-bottom: .8rem; }
.ddReferralTotals span { padding: .75rem; border: 1px solid #285764; border-radius: 10px; background: #071d26; color: #a6bdc5; }
.ddReferralTotals b { display: block; color: #65edc0; font-size: 1.35rem; }
.ddReferralGrid { display: grid; grid-template-columns: minmax(0,1.35fr) minmax(220px,.65fr); gap: .85rem; }
.ddReferralGrid section { min-width: 0; padding: .75rem; border: 1px solid #285764; border-radius: 10px; background: #071d26; }
.ddReferralGrid h3 { margin: 0 0 .65rem; font-size: .92rem; }
.ddReferralGrid table { width: 100%; border-collapse: collapse; font-size: .78rem; }
.ddReferralGrid th,.ddReferralGrid td { padding: .5rem .35rem; border-bottom: 1px solid #244651; text-align: left; }
.ddReferralGrid th:nth-child(n+2),.ddReferralGrid td:nth-child(n+2) { text-align: right; }
.ddReferralGrid td small { display: block; color: #83a3ad; }
.ddReferralGrid ul { display: grid; gap: .35rem; margin: 0; padding: 0; list-style: none; }
.ddReferralGrid li { display: flex; justify-content: space-between; gap: .6rem; padding: .45rem 0; border-bottom: 1px solid #244651; }
.ddReferralGrid li span { min-width: 0; overflow-wrap: anywhere; color: #b4c8ce; }
.ddReferralGrid li b { color: #62e8ee; }
@media (max-width:700px) {
  .ddReferralStats > header { align-items: stretch; flex-direction: column; }
  .ddReferralStats button { width: 100%; }
  .ddReferralGrid { grid-template-columns: 1fr; }
  .ddReferralGrid section { overflow-x: auto; }
}


/* v438 · La insignia de Mi panel no debe invadir el contenido en móvil. */
@media (max-width: 700px) {
  body.dondominioReplica .hubLevels .panelLevel::before {
    top: 9px !important;
    right: 10px !important;
    width: auto !important;
    max-width: 112px !important;
    padding: 5px 8px !important;
    font-size: 7px !important;
    line-height: 1 !important;
    letter-spacing: .09em !important;
    white-space: nowrap !important;
    text-align: center !important;
  }
  body.dondominioReplica .hubLevels .panelLevel > div {
    padding-top: 9px !important;
  }
  body.dondominioReplica .searchAfterIdentity {
    scroll-margin-top: 82px;
  }
}
@media (max-width: 760px) {
  .ddModal { width: calc(100vw - 24px) !important; max-height: calc(100dvh - 24px) !important; }
}

/* Limpieza visual solicitada para DonDominio: compactar sin eliminar funciones. */
.ddAdmin { padding-block: clamp(16px, 3vw, 34px) !important; }
.ddAdmin > header { margin-bottom: 1rem !important; }
.ddAdmin > header h1 { margin-block: .25rem !important; }
.ddStats { gap: .65rem !important; margin-bottom: .9rem !important; }
.ddStats article { min-height: 76px !important; padding: .85rem 1rem !important; }
.ddAdminGrid { gap: .85rem !important; }
.ddPanel { padding: clamp(14px, 2vw, 22px) !important; }
.ddPanelTitle { margin-bottom: .7rem !important; }
.ddPanelTitle h2, .ddPanel > h2 { margin-block: 0 .55rem !important; }
.ddRow { min-height: 0 !important; padding: .75rem .85rem !important; gap: .75rem !important; }
.ddRowMain p { margin: .2rem 0 0 !important; }
.ddRow aside { gap: .35rem !important; }
.ddExtras { margin-top: .85rem !important; }
.ddTools { margin-top: .85rem !important; gap: .75rem !important; }
.ddTools p { margin-block: .25rem .55rem !important; }
.ddFiles { margin-top: .85rem !important; }
.ddFileControls, .ddLibrarySelector { gap: .55rem !important; }
.ddLibrarySelector { padding: .7rem !important; margin-bottom: .8rem !important; }
.ddFileGallery { gap: .7rem !important; }
.ddFile { padding: .7rem !important; }
.ddAdminSuccess, .ddAdminError { margin-block: .65rem !important; padding: .65rem .8rem !important; }
.ddAccessForm { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: .75rem; margin: 1rem 0; }
.ddAccessForm label { display: grid; gap: .35rem; color: #b9cbd1; }
.ddAccessForm input, .ddAccessForm select, .ddAccessForm button, .ddAccessResult input, .ddAccessResult button { min-height: 44px; border: 1px solid #2f7280; border-radius: 9px; background: #071d26; color: #eefcff; padding: .65rem .75rem; font: inherit; }
.ddAccessForm button { align-self: end; color: #06131b; background: #42d3df; font-weight: 800; cursor: pointer; }
.ddRepeaterAdmin { display:grid; gap:1rem; margin-top:1rem; }
.ddRepeaterSearch { display:grid; gap:.4rem; color:#b9cbd1; }
.ddRepeaterSearch input { min-height:48px; padding:.75rem; border:1px solid #367887; border-radius:11px; background:#061a23; color:#eefcff; font:inherit; }
.ddRepeaterList { display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:.5rem; max-height:430px; overflow:auto; }
.ddRepeaterList button { display:grid; gap:.25rem; padding:.75rem; border:1px solid #2d6875; border-radius:10px; background:#08212b; color:#eefcff; text-align:left; cursor:pointer; }
.ddRepeaterList button span { color:#a9bec5; font-size:.78rem; }
.ddRepeaterList button em { width:max-content; padding:.18rem .4rem; border-radius:999px; background:#725c21; color:#ffe39b; font-size:.64rem; font-style:normal; }
.ddRepeaterForm { padding:1rem; border:1px solid #43d6df; border-radius:15px; background:#071d26; }
.ddRepeaterForm>header { display:flex; justify-content:space-between; align-items:start; gap:1rem; }
.ddRepeaterForm h3 { margin:.25rem 0; font-size:1.5rem; }
.ddRepeaterForm>header button { width:42px; height:42px; border:1px solid #4d7983; border-radius:50%; background:#0a2b35; color:#eefcff; font-size:1.5rem; }
.ddRepeaterFields { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.7rem; }
.ddRepeaterFields label { display:grid; gap:.35rem; color:#b9cbd1; }
.ddRepeaterFields input,.ddRepeaterFields select,.ddRepeaterFields textarea { box-sizing:border-box; width:100%; min-height:44px; padding:.65rem; border:1px solid #356d79; border-radius:9px; background:#061820; color:#eefcff; font:inherit; }
.ddRepeaterFields .wide { grid-column:1/-1; }
.ddRepeaterDigital { display:flex !important; grid-column:1/-1; grid-template-columns:auto 1fr; align-items:center; }
.ddRepeaterDigital input { width:22px; min-height:22px; }
.ddRepeaterActions { display:flex; justify-content:flex-end; gap:.6rem; margin-top:1rem; }
.ddRepeaterActions button { min-height:44px; padding:.65rem .85rem; border:1px solid #43d6df; border-radius:9px; background:#0b3540; color:#6ce9ef; font-weight:700; }
.ddRepeaterActions button:last-child { background:#35cbd5; color:#06242c; }
.ddRepeaterForm output { display:block; margin-top:.7rem; color:#6ee2af; }
.ddRepeaterCorrections { border-top:1px solid #315d68; padding-top:1rem; }
.ddRepeaterCorrections>div { display:grid; gap:.65rem; }
.ddRepeaterCorrections article { padding:.8rem; border:1px solid #345e68; border-radius:11px; background:#071b23; }
.ddRepeaterCorrections article header { display:flex; justify-content:space-between; gap:.5rem; }
.ddRepeaterCorrections article p { max-height:120px; overflow:auto; white-space:pre-wrap; color:#adc0c6; }
.ddRepeaterCorrections article span { display:block; color:#8da8b0; font-size:.78rem; }
.ddRepeaterCorrections article button { margin-top:.6rem; padding:.6rem; border:1px solid #41d5df; border-radius:8px; background:#0a3440; color:#67eaf0; }
@media(max-width:680px){.ddRepeaterFields{grid-template-columns:1fr}.ddRepeaterFields .wide,.ddRepeaterDigital{grid-column:1}.ddRepeaterActions{align-items:stretch;flex-direction:column}.ddRepeaterCorrections article header{flex-direction:column}}
.ddAccessCheck { display: flex !important; align-items: center; gap: .6rem !important; }
.ddAccessCheck input, .ddAccessList label input { min-height: 0; width: 20px; height: 20px; }
.ddAccessResult { display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: .6rem; padding: .8rem; border: 1px solid #2aa77b; border-radius: 12px; background: #0b392f; }
.ddAccessResult[hidden] { display: none; }
.ddAccessList article { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: .75rem; padding: .8rem 0; border-bottom: 1px solid #27515d; }
.ddAccessList article div { display: grid; gap: .25rem; margin-right: auto; }
.ddAccessList small { color: #94abb3; }
.ddAccessList button { padding: .55rem .7rem; border: 1px solid #9b5358; border-radius: 8px; background: #38171b; color: #ffbdc1; }

/* Imágenes para páginas: la galería original permanece privada. */
.ddPageImages { margin: 1rem 0; padding: 1rem; border: 1px solid #2b7580; border-radius: 13px; background: rgba(5,27,36,.82); }
.ddPageImages > b { display: block; margin-bottom: .7rem; color: #58e6ed; letter-spacing: .09em; }
.ddPageImageFields, .ddPageImageActions { display: grid; grid-template-columns: minmax(0,1fr) minmax(150px,.38fr); gap: .65rem; margin-top: .65rem; }
.ddPageImageActions { grid-template-columns: auto minmax(190px,1fr) auto; }
.ddPageImages input, .ddPageImages select, .ddPageImages button, .ddPageImages label { box-sizing: border-box; min-height: 44px; padding: .65rem .75rem; border: 1px solid #2f7280; border-radius: 9px; background: #071d26; color: #eefcff; }
.ddPageImages label, .ddPageImages button { display: grid; place-items: center; color: #62e8ee; font-weight: 700; cursor: pointer; }
.ddPageImages small { display: block; margin-top: .65rem; color: #9bb5bd; }
.ea2fmoPageImage { margin: 1.4rem auto; max-width: 720px; }
.ea2fmoPageImage img { display: block; width: 100%; max-width: 100%; height: auto; border-radius: 14px; }
.ea2fmoImage-left { float: left; width: min(44%,420px); margin: .35rem 1.4rem 1rem 0; }
.ea2fmoImage-right { float: right; width: min(44%,420px); margin: .35rem 0 1rem 1.4rem; }
.ea2fmoImage-wide { clear: both; max-width: none; width: 100%; }
.ea2fmoImage-center { clear: both; }

@media (max-width: 760px) {
  .ddAdmin { padding: 12px !important; }
  .ddStats { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
  .ddStats article { min-height: 64px !important; }
  .ddPanel { padding: 12px !important; border-radius: 15px !important; }
  .ddRow { align-items: flex-start !important; padding: .65rem !important; }
  .ddRow aside { flex-wrap: wrap !important; justify-content: flex-start !important; }
  .ddTools form { display: grid !important; grid-template-columns: 1fr !important; }
  .ddLibrarySelector { align-items: stretch !important; }
  .ddLibrarySelector label, .ddLibrarySelector select { width: 100% !important; }
  .ddPageImageFields, .ddPageImageActions { grid-template-columns: 1fr; }
  .ddAccessForm, .ddAccessResult { grid-template-columns: 1fr; }
  .ea2fmoImage-left, .ea2fmoImage-right { float: none; width: 100%; margin: 1.2rem auto; }
}

/* v432: corrección de composición del panel y editor en teléfonos. */
.ddAdmin > header,
.ddHubBackbar,
.ddVisualEditor .ddVisualHeader,
.ddVisualEditor .ddVisualTabs {
  position: relative !important;
  inset: auto !important;
  height: auto !important;
  min-height: 0 !important;
}
.ddHubBackbar { display: flex !important; width: auto !important; }
.ddVisualEditor { overflow: visible !important; }
.ddVisualEditor .ddVisualHeader > div { min-width: 0; }
.ddVisualEditor .ddVisualHeader p { position: static !important; white-space: normal !important; }

html[data-theme="light"] .localSeoSummary {
  border-color: #7eb6bf !important;
  background: rgba(247, 252, 253, .94) !important;
  color: #45636c !important;
  box-shadow: 0 8px 28px rgba(24, 78, 91, .10);
}
html[data-theme="light"] .localSeoSummary h2 { color: #153d48 !important; }
html[data-theme="light"] .localSeoSummary p { color: #45636c !important; }

@media (max-width: 760px) {
  .ddAdmin { width: 100% !important; max-width: 100% !important; box-sizing: border-box !important; overflow-x: clip !important; }
  .ddAdmin > header {
    display: grid !important;
    gap: .45rem !important;
    padding: .35rem .2rem .8rem !important;
    margin: 0 0 .5rem !important;
    overflow: visible !important;
  }
  .ddAdmin > header > * { position: static !important; inset: auto !important; max-width: 100% !important; margin: 0 !important; }
  .ddAdmin > header h1 { font-size: clamp(2rem, 10vw, 3rem) !important; line-height: 1.04 !important; overflow-wrap: anywhere; }
  .ddAdmin > header p { font-size: 1rem !important; line-height: 1.4 !important; }

  .ddHubBackbar {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: .55rem !important;
    padding: .65rem .15rem .85rem !important;
    margin: .35rem 0 1rem !important;
    overflow: visible !important;
  }
  .ddHubBackbar button {
    position: static !important;
    inset: auto !important;
    width: max-content !important;
    min-width: 0 !important;
    min-height: 44px !important;
    padding: .6rem .8rem !important;
    font-size: 1rem !important;
    line-height: 1.2 !important;
  }
  .ddHubBackbar div { position: static !important; inset: auto !important; min-width: 0; padding-left: .1rem; }
  .ddHubBackbar div b { font-size: 1.05rem !important; line-height: 1.3 !important; white-space: normal !important; overflow-wrap: anywhere; }

  .ddVisualEditor .ddVisualHeader {
    display: grid !important;
    gap: .5rem !important;
    padding-bottom: .75rem !important;
    margin-bottom: .7rem !important;
    overflow: visible !important;
  }
  .ddVisualEditor .ddVisualHeader h2 { margin: .2rem 0 !important; font-size: 1.65rem !important; line-height: 1.15 !important; }
  .ddVisualEditor .ddVisualHeader p { margin: 0 !important; font-size: 1rem !important; line-height: 1.45 !important; }
  .ddVisualEditor .ddVisualState { position: static !important; justify-self: start !important; }
  .ddVisualEditor .ddVisualTabs {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: .45rem !important;
    width: 100% !important;
    padding: 0 0 .75rem !important;
    margin: 0 !important;
    overflow: visible !important;
  }
  .ddVisualEditor .ddVisualTabs button { width: 100% !important; min-width: 0 !important; min-height: 44px !important; padding: .55rem .35rem !important; font-size: .88rem !important; white-space: normal !important; }
  .ddVisualEditor .ddVisualBody { min-height: 0 !important; padding: .75rem !important; }
  .ddVisualEditor .ddVisualGrid input[type="color"] { width: 76px !important; max-width: 76px !important; height: 48px !important; min-height: 48px !important; padding: .2rem !important; }
  .ddVisualEditor .ddVisualActions {
    position: sticky !important;
    bottom: 0 !important;
    z-index: 20 !important;
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: .45rem !important;
    padding: .65rem !important;
    margin: .75rem -.3rem -.3rem !important;
    border: 1px solid #285e6b;
    border-radius: 12px;
    background: rgba(5, 24, 33, .96);
    backdrop-filter: blur(8px);
  }
  .ddVisualEditor .ddVisualActions button { width: 100% !important; min-width: 0 !important; }
  .ddVisualEditor .ddVisualActions .primary { grid-column: 1 / -1; grid-row: 1; }
}

/* v454 final · Esta copia al final de la hoja prevalece sobre las reglas
   históricas de altura de las tarjetas principales. */
@media (max-width: 700px) {
  body.dondominioReplica .hubLevels {
    box-sizing: border-box !important;
    width: 100% !important;
    max-width: none !important;
    margin: 0 0 12px !important;
    gap: 8px !important;
    grid-auto-rows: auto !important;
  }
  body.dondominioReplica .hubLevels > * {
    box-sizing: border-box !important;
    width: 100% !important;
    min-height: 108px !important;
    height: auto !important;
    padding: 13px 14px !important;
    grid-template-columns: 46px minmax(0, 1fr) 24px !important;
    align-items: center !important;
    gap: 11px !important;
    border-radius: 16px !important;
  }
  body.dondominioReplica .hubLevels > * > :last-child { margin-top: 0 !important; }
  body.dondominioReplica .hubLevels > button > span.levelIcon {
    width: 44px !important;
    height: 44px !important;
    border-radius: 12px !important;
  }
  body.dondominioReplica .hubLevels b { margin: 5px 0 !important; font-size: 14px !important; }
  body.dondominioReplica .hubLevels p { font-size: 8px !important; line-height: 1.4 !important; }
  body.dondominioReplica .hubLevels em { font-size: 20px !important; }
  body.dondominioReplica .hubLevels .panelLevel { min-height: 108px !important; }
}

/* v455 final · Separación y controles móviles. */
.ea2fmoSotaBody { padding-top:18px; }
.ea2fmoSotaBody .ea2fmoSotaActions { margin-top:0; }
@media (max-width:700px) {
  .ea2fmoEchoLinkIntro { grid-template-columns:50px minmax(0,1fr) auto !important; }
  .ea2fmoEchoLinkToggle { align-self:center; }
  .ea2fmoSotaScheduleFields { grid-template-columns:minmax(0,1fr); }
  .ea2fmoDmrLiveCard { grid-template-columns:46px minmax(0,1fr); }
  .ea2fmoDmrLiveCard strong { grid-column:2; }
}

/* v456 final · Replica en móvil del formato aprobado en Sites. */
@media (max-width:700px) {
  body.dondominioReplica .hubLevels {
    display:grid !important;
    grid-template-columns:minmax(0,1fr) !important;
    grid-auto-rows:auto !important;
    align-items:initial !important;
    box-sizing:border-box !important;
    width:calc(100% - 32px) !important;
    max-width:1040px !important;
    margin:0 auto 16px !important;
    gap:10px !important;
  }
  body.dondominioReplica .hubLevels > * {
    display:grid !important;
    grid-template-columns:52px minmax(0,1fr) 28px !important;
    grid-template-rows:auto !important;
    align-items:center !important;
    align-self:auto !important;
    box-sizing:border-box !important;
    width:100% !important;
    min-width:0 !important;
    max-width:none !important;
    min-height:108px !important;
    height:auto !important;
    margin:0 !important;
    padding:14px 15px !important;
    gap:12px !important;
    border-radius:16px !important;
  }
  body.dondominioReplica .hubLevels > * > :last-child { margin-top:0 !important; }
  body.dondominioReplica .hubLevels > button > span.levelIcon {
    align-self:center !important;
    width:48px !important;
    height:48px !important;
    margin:0 !important;
    border-radius:13px !important;
  }
  body.dondominioReplica .hubLevels > * > div {
    align-self:center !important;
    min-width:0 !important;
    padding:0 !important;
    text-align:left !important;
  }
  body.dondominioReplica .hubLevels small { font-size:7px !important; line-height:1.3 !important; }
  body.dondominioReplica .hubLevels b { margin:6px 0 !important; font-size:15px !important; line-height:1.2 !important; }
  body.dondominioReplica .hubLevels p { margin:0 !important; font-size:9px !important; line-height:1.45 !important; }
  body.dondominioReplica .hubLevels em {
    align-self:center !important;
    justify-self:end !important;
    margin:0 !important;
    font-size:22px !important;
  }
  body.dondominioReplica .hubLevels .panelLevel::before {
    top:8px !important;
    right:12px !important;
  }
  body.dondominioReplica .ea2fmoSotaZone {
    box-sizing:border-box !important;
    width:calc(100% - 32px) !important;
    min-height:0 !important;
    height:auto !important;
    margin:12px auto !important;
    padding:16px !important;
    overflow:visible !important;
  }
  body.dondominioReplica .ea2fmoSotaZone > header {
    display:grid !important;
    grid-template-columns:48px minmax(0,1fr) 40px !important;
    grid-template-rows:auto auto !important;
    align-items:start !important;
    min-height:0 !important;
    height:auto !important;
    gap:8px 11px !important;
    padding:0 0 3px !important;
    overflow:visible !important;
  }
  body.dondominioReplica .ea2fmoSotaLogo {
    grid-column:1 !important;
    grid-row:1 / span 2 !important;
    width:46px !important;
    height:46px !important;
  }
  body.dondominioReplica .ea2fmoSotaZone > header > div {
    grid-column:2 !important;
    grid-row:1 / span 2 !important;
    min-width:0 !important;
    padding:0 0 5px !important;
  }
  body.dondominioReplica .ea2fmoSotaZone h2 {
    margin:4px 0 5px !important;
    font-size:22px !important;
    line-height:1.12 !important;
  }
  body.dondominioReplica .ea2fmoSotaZone header p {
    display:block !important;
    max-width:100% !important;
    margin:0 !important;
    font-size:10px !important;
    line-height:1.45 !important;
    overflow-wrap:anywhere !important;
  }
  body.dondominioReplica .ea2fmoSotaShare {
    grid-column:3 !important;
    grid-row:1 !important;
    width:40px !important;
    height:40px !important;
  }
  body.dondominioReplica .ea2fmoSotaToggle {
    grid-column:3 !important;
    grid-row:2 !important;
    align-self:end !important;
    justify-self:center !important;
    font-size:7px !important;
  }
  body.dondominioReplica .ea2fmoSotaCount { display:none !important; }
}

/* v458 final · Ruta real, Hoseline compacto y mapamundi QSO ampliable. */
.ea2fmoRepeaterTechnology[data-tech="ANALÓGICO"] { color:#bfffe1; border-color:#3b8b63; background:#103324; }
.ea2fmoRepeaterReport { box-sizing:border-box; width:100%; min-height:38px; margin-top:9px; padding:8px 10px; color:#ffe1a2; border:1px solid #8a6a2a; border-radius:9px; background:#33280f; font:800 9px/1.25 system-ui,sans-serif; cursor:pointer; }
.ea2fmoRouteTools { display:flex; align-items:center; justify-content:space-between; gap:12px; margin:12px 0; padding:12px 14px; border:1px solid #32877f; border-radius:13px; background:#092b32; }
.ea2fmoRouteTools>div { display:grid; gap:3px; }
.ea2fmoRouteTools small { color:#62e8c2; font-size:8px; font-weight:850; letter-spacing:.13em; }
.ea2fmoRouteTools b { font-size:13px; }
.ea2fmoRouteTools button { min-height:40px; padding:9px 12px; color:#d8fff4; border:1px solid #45c9aa; border-radius:9px; background:#17493f; font-weight:800; cursor:pointer; }
.contactMap { position:relative; overflow:hidden; }
.ea2fmoWorldMap { position:absolute; z-index:0; inset:8px; display:grid; place-items:center; pointer-events:none; opacity:.3; }
.ea2fmoWorldMap svg { width:100%; height:100%; }
.ea2fmoWorldMap path { fill:#2e7780; stroke:#63c5cc; stroke-width:2; vector-effect:non-scaling-stroke; }
.contactMap>.mapGrid,.contactMap>svg,.contactMap>.stationPoint,.contactMap>.contactPoint { z-index:1; }
.ea2fmoMapExpand { position:absolute; z-index:5; right:10px; bottom:10px; min-height:36px; padding:7px 10px; color:#cffff4; border:1px solid #47baa5; border-radius:8px; background:rgba(6,34,41,.92); font:800 9px system-ui,sans-serif; cursor:pointer; }
.contactMap.ea2fmoMapExpanded { position:fixed !important; z-index:12000 !important; inset:10px !important; width:auto !important; height:auto !important; min-height:0 !important; margin:0 !important; border-radius:16px !important; background:#071923 !important; box-shadow:0 25px 90px #000 !important; }
@media (max-width:700px) {
  body.dondominioReplica .ea2fmoDmrLiveCard { min-height:98px !important; padding:12px 13px !important; grid-template-columns:46px minmax(0,1fr) 24px !important; gap:10px !important; border-radius:14px !important; }
  body.dondominioReplica .ea2fmoDmrLiveIcon { width:44px !important; height:44px !important; border-radius:11px !important; }
  body.dondominioReplica .ea2fmoDmrLiveCard b { margin:4px 0 !important; font-size:14px !important; }
  body.dondominioReplica .ea2fmoDmrLiveCard p { font-size:9px !important; line-height:1.35 !important; }
  body.dondominioReplica .ea2fmoDmrLiveCard strong { grid-column:3 !important; grid-row:1 !important; font-size:0 !important; }
  body.dondominioReplica .ea2fmoDmrLiveCard strong::after { content:'↗'; font-size:20px; }
  .ea2fmoRouteTools { align-items:stretch; flex-direction:column; }
  .ea2fmoRouteTools button { width:100%; }
  .contactMap.ea2fmoMapExpanded { inset:6px !important; border-radius:12px !important; }
}

/* v496 final · Debe prevalecer sobre los formatos móviles anteriores. */
@media (max-width:700px) {
  body.dondominioReplica .hubLevels { grid-template-columns:repeat(2,minmax(0,1fr)) !important; align-items:stretch !important; gap:9px !important; }
  body.dondominioReplica .hubLevels > * { display:grid !important; grid-template-columns:42px minmax(0,1fr) 15px !important; align-content:center !important; align-items:center !important; min-height:112px !important; padding:12px 10px !important; gap:8px !important; }
  body.dondominioReplica .hubLevels > button > span.levelIcon { width:40px !important; height:40px !important; border-radius:11px !important; }
  body.dondominioReplica .hubLevels > * > div { min-width:0 !important; }
  body.dondominioReplica .hubLevels small { font-size:6px !important; line-height:1.25 !important; letter-spacing:.08em !important; }
  body.dondominioReplica .hubLevels b { margin:4px 0 !important; font-size:13px !important; line-height:1.13 !important; }
  body.dondominioReplica .hubLevels p { display:-webkit-box !important; overflow:hidden !important; font-size:7px !important; line-height:1.35 !important; -webkit-line-clamp:2 !important; -webkit-box-orient:vertical !important; }
  body.dondominioReplica .hubLevels em { font-size:18px !important; }
  body.dondominioReplica .hubLevels .panelLevel::before { top:6px !important; right:8px !important; padding:2px 5px !important; font-size:5px !important; }
}

/* v497 · Cuarta puerta y orden definitivo de la portada. */
body.dondominioReplica .hubLevels .roadHelpLevel {
  color:#fff7e7 !important;
  border-color:#bd7839 !important;
  background:radial-gradient(circle at 15% 25%,rgba(255,151,59,.19),transparent 36%),linear-gradient(135deg,#352010,#0a222c) !important;
}
body.dondominioReplica .roadHelpLevel .levelIcon {
  display:grid !important;
  place-items:center !important;
  color:#ffd17a !important;
  background:linear-gradient(145deg,#8d3c18,#38220e) !important;
  font-size:11px !important;
  font-weight:900 !important;
  letter-spacing:.04em !important;
}
body.dondominioReplica .roadHelpLevel small { color:#ffc16d !important; }
body.dondominioReplica .roadHelpLevel em { color:#ffc05d !important; }
@media (max-width:700px) {
  body.dondominioReplica .hubLevels .panelLevel { order:1 !important; }
  body.dondominioReplica .hubLevels .publicLevel { order:2 !important; }
  body.dondominioReplica .hubLevels .privateLevel { order:3 !important; }
  body.dondominioReplica .hubLevels .roadHelpLevel { order:4 !important; }
  body.dondominioReplica .nowHub {
    box-sizing:border-box !important;
    width:calc(100% - 32px) !important;
    max-width:1040px !important;
    margin:10px auto 16px !important;
  }
}

/* v498 · SOTA, EchoLink y DMR sustituyen la ayuda horizontal duplicada. */
body.dondominioReplica .nowHub > :is(.ea2fmoSotaZone,.ea2fmoEchoLinkZone,.ea2fmoDmrZone) {
  width:100% !important;
  max-width:none !important;
  margin:16px 0 !important;
}
body.dondominioReplica .nowHub > .ea2fmoSotaZone { margin-top:20px !important; }
body.dondominioReplica .nowHub > .ea2fmoDmrZone { margin-bottom:20px !important; }
@media (max-width:700px) {
  body.dondominioReplica .nowHub > :is(.ea2fmoSotaZone,.ea2fmoEchoLinkZone,.ea2fmoDmrZone) {
    width:100% !important;
    margin:10px 0 !important;
  }
}

/* v500 · Integración segura QRZ + eQSL + LdA */
.externalLogbooksOpen{width:100%;margin:.45rem 0;padding:.8rem 1rem;border:1px solid #43bac3;border-radius:10px;background:#0b3944;color:#eaffff;font-weight:800;cursor:pointer}
.externalLogbooksConfig{max-height:min(88vh,860px);overflow:auto}.externalLogbooksConfig h3{margin-bottom:.35rem}.extService{margin:14px 0;padding:14px;border:1px solid #285d67;border-radius:14px;background:rgba(4,24,31,.45)}.extService h4{display:flex;justify-content:space-between;gap:12px;margin:0 0 10px}.extState{font-size:.72rem;color:#67e7bd}.extActions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:10px}.extActions button{min-height:42px;border:1px solid #377985;border-radius:10px;background:#113844;color:#eefcff;font-weight:800}.extNotice{display:block;min-height:1.4em;margin-top:10px;color:#8debd3;font-weight:700}@media(max-width:650px){.extActions{grid-template-columns:1fr}.externalLogbooksConfig{width:calc(100vw - 22px)!important}}

/* v501 · Servicios externos visibles en Libro de Guardia */
.externalServicesCard{margin:16px 0;padding:16px;border:1px solid #2b6974;border-radius:16px;background:linear-gradient(145deg,rgba(5,35,44,.96),rgba(6,26,34,.96));box-shadow:0 10px 28px rgba(0,0,0,.18)}
.externalServicesHead{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.externalServicesHead small{display:block;color:#5fe3d0;font-size:.7rem;font-weight:900;letter-spacing:.08em}.externalServicesHead h3{margin:.28rem 0 .35rem;font-size:1.1rem}.externalServicesHead p{margin:0;color:#a9c1c7;font-size:.84rem;line-height:1.45}.externalServicesIcon{display:grid;place-items:center;min-width:34px;height:34px;border-radius:10px;background:#103944;color:#68ead4;font-weight:900}
.externalServicesGrid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:14px 0}.externalServicesGrid article{display:flex;flex-direction:column;gap:4px;padding:10px;border:1px solid #285c66;border-radius:11px;background:#092731}.externalServicesGrid article b{font-size:.9rem}.externalServiceState{font-size:.68rem;color:#9db7bc}.externalServicesGrid article.isConnected{border-color:#278a73}.externalServicesGrid article.isConnected .externalServiceState{color:#6ee7bd}.externalServicesGrid article.isPending .externalServiceState{color:#e2b864}
.externalServicesConfigure{width:100%;min-height:44px;border:1px solid #45c8b1;border-radius:11px;background:#0d514c;color:#edfffb;font-weight:900;letter-spacing:.025em;cursor:pointer}.externalServicesNote{margin:9px 0 0;color:#8faab0;font-size:.72rem;line-height:1.4}
@media(max-width:650px){.externalServicesCard{margin:12px 0;padding:13px}.externalServicesGrid{grid-template-columns:1fr}.externalServicesGrid article{flex-direction:row;align-items:center;justify-content:space-between;min-height:34px}.externalServicesHead p{font-size:.78rem}.externalServicesConfigure{font-size:.78rem}}

/* v502 · Acciones de sincronización eQSL/LdA */
.externalServicesActions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:12px}.externalServicesSync{min-height:44px;border-radius:12px;border:1px solid rgba(53,215,229,.45);background:#0b3140;color:#dffcff;font-weight:800;letter-spacing:.04em}.externalServicesSync:disabled{opacity:.65}.externalServicesConfigure{min-height:44px}@media(max-width:620px){.externalServicesActions{grid-template-columns:1fr}.externalServicesSync,.externalServicesConfigure{width:100%}}

/* v506 · REPASO GLOBAL DEL TEMA CLARO
   Unifica portada, Mi Panel, Libro de Guardia, administración, formularios,
   modales y pie sin alterar la lógica ni los datos. */
html[data-theme="light"] body.dondominioReplica {
  background:#f3f8fa !important;
  color:#173b46 !important;
}
html[data-theme="light"] body.dondominioReplica .hubLevels > button,
html[data-theme="light"] body.dondominioReplica .homePortalStack > *,
html[data-theme="light"] body.dondominioReplica .comingSoonHub > *,
html[data-theme="light"] body.dondominioReplica .linkedServices,
html[data-theme="light"] body.dondominioReplica .nowHub {
  background:#f8fbfc !important;
  color:#173b46 !important;
}
html[data-theme="light"] body.dondominioReplica .hubLevels > button p,
html[data-theme="light"] body.dondominioReplica .hubLevels > button span,
html[data-theme="light"] body.dondominioReplica .linkedServices small,
html[data-theme="light"] body.dondominioReplica main > footer,
html[data-theme="light"] body.dondominioReplica main > footer p,
html[data-theme="light"] body.dondominioReplica main > footer span { color:#58727b !important; }

/* Libro de guardia: contraste real en claro. */
html[data-theme="light"] body.dondominioReplica .logbookBack { background:rgba(230,240,244,.96) !important; }
html[data-theme="light"] body.dondominioReplica .logbookModal,
html[data-theme="light"] body.dondominioReplica .myPanelDashboard {
  background:#f4f9fb !important; color:#173b46 !important; border-color:#82b9c6 !important;
}
html[data-theme="light"] body.dondominioReplica .logbookModal h3,
html[data-theme="light"] body.dondominioReplica .logbookModal h4,
html[data-theme="light"] body.dondominioReplica .logbookModal b,
html[data-theme="light"] body.dondominioReplica .myPanelDashboard h2,
html[data-theme="light"] body.dondominioReplica .myPanelDashboard h3 { color:#173b46 !important; }
html[data-theme="light"] body.dondominioReplica .logbookModal label,
html[data-theme="light"] body.dondominioReplica .logbookModal small,
html[data-theme="light"] body.dondominioReplica .logbookModal p,
html[data-theme="light"] body.dondominioReplica .logbookModal span { color:#4f6d77; }
html[data-theme="light"] body.dondominioReplica .quickQsoBar {
  background:linear-gradient(135deg,#e8f7f2,#edf7fa) !important;
  border-color:#39a986 !important; box-shadow:0 10px 28px rgba(37,123,105,.10) !important;
}
html[data-theme="light"] body.dondominioReplica .quickQsoBar small { color:#187a62 !important; }
html[data-theme="light"] body.dondominioReplica .quickQsoBar b { color:#19434d !important; }
html[data-theme="light"] body.dondominioReplica .quickQsoBar span { color:#526f78 !important; }
html[data-theme="light"] body.dondominioReplica .qsoForm,
html[data-theme="light"] body.dondominioReplica .lookupService,
html[data-theme="light"] body.dondominioReplica .logbookTools,
html[data-theme="light"] body.dondominioReplica .logbookStats > div:not(.monthlyActivity),
html[data-theme="light"] body.dondominioReplica .logbookAdvancedFilters {
  background:#f8fbfc !important; color:#173b46 !important; border-color:#a3c9d2 !important;
}
html[data-theme="light"] body.dondominioReplica .lookupService p,
html[data-theme="light"] body.dondominioReplica .lookupService span,
html[data-theme="light"] body.dondominioReplica .lookupService small { color:#55737c !important; }
html[data-theme="light"] body.dondominioReplica input,
html[data-theme="light"] body.dondominioReplica select,
html[data-theme="light"] body.dondominioReplica textarea {
  background:#fff !important; color:#173b46 !important; border-color:#8eb9c5 !important;
}
html[data-theme="light"] body.dondominioReplica input::placeholder,
html[data-theme="light"] body.dondominioReplica textarea::placeholder { color:#718b93 !important; opacity:1 !important; }
html[data-theme="light"] body.dondominioReplica .serviceDisabled { color:#718b93 !important; background:#f4f8f9 !important; }

/* Administración: antes permanecía oscura aunque el sitio estuviese en claro. */
html[data-theme="light"] body.dondominioReplica .ddAdmin {
  background:#f3f8fa !important; color:#173b46 !important;
}
html[data-theme="light"] body.dondominioReplica .ddAdmin > header {
  background:#eef4f6 !important; color:#173b46 !important; border-color:#9bc2cc !important;
}
html[data-theme="light"] body.dondominioReplica .ddAdmin > header h1,
html[data-theme="light"] body.dondominioReplica .ddAdmin h1,
html[data-theme="light"] body.dondominioReplica .ddAdmin h2,
html[data-theme="light"] body.dondominioReplica .ddAdmin h3,
html[data-theme="light"] body.dondominioReplica .ddAdmin strong { color:#173b46 !important; }
html[data-theme="light"] body.dondominioReplica .ddAdmin > header p,
html[data-theme="light"] body.dondominioReplica .ddAdmin p,
html[data-theme="light"] body.dondominioReplica .ddAdmin small,
html[data-theme="light"] body.dondominioReplica .ddAdmin span { color:#58727b; }
html[data-theme="light"] body.dondominioReplica .ddControlHub,
html[data-theme="light"] body.dondominioReplica .ddPanel,
html[data-theme="light"] body.dondominioReplica .ddStats article,
html[data-theme="light"] body.dondominioReplica .ddFiles,
html[data-theme="light"] body.dondominioReplica .ddTools {
  background:#f8fbfc !important; color:#173b46 !important; border-color:#8eb9c5 !important;
  box-shadow:0 10px 30px rgba(38,91,105,.06) !important;
}
html[data-theme="light"] body.dondominioReplica .ddControlHub > p { color:#58727b !important; }
html[data-theme="light"] body.dondominioReplica .ddControlHubGrid > button {
  background:#f3f9fa !important; color:#173b46 !important; border-color:#83b4c0 !important;
}
html[data-theme="light"] body.dondominioReplica .ddControlHubGrid > button:hover { background:#eaf6f7 !important; border-color:#189aad !important; }
html[data-theme="light"] body.dondominioReplica .ddHubIcon { background:#dceff2 !important; }
html[data-theme="light"] body.dondominioReplica .ddHubCopy small { color:#25866e !important; }
html[data-theme="light"] body.dondominioReplica .ddHubCopy b { color:#173b46 !important; }
html[data-theme="light"] body.dondominioReplica .ddHubCopy span { color:#58727b !important; }
html[data-theme="light"] body.dondominioReplica .ddControlHubGrid > button > strong { color:#078ca0 !important; }
html[data-theme="light"] body.dondominioReplica .ddHubBackbar { border-color:#9bc2cc !important; }
html[data-theme="light"] body.dondominioReplica .ddHubBackbar button,
html[data-theme="light"] body.dondominioReplica .ddAdmin header a {
  background:#f8fbfc !important; color:#087f91 !important; border-color:#70aebc !important;
}
html[data-theme="light"] body.dondominioReplica .ddRow,
html[data-theme="light"] body.dondominioReplica .ddFile,
html[data-theme="light"] body.dondominioReplica .ddFileGallery .ddFile {
  background:#f7fbfc !important; border-color:#bad4da !important; color:#173b46 !important;
}
html[data-theme="light"] body.dondominioReplica .ddRowMain { color:#173b46 !important; }
html[data-theme="light"] body.dondominioReplica .ddRowMain p,
html[data-theme="light"] body.dondominioReplica .ddFile small { color:#617c84 !important; }
html[data-theme="light"] body.dondominioReplica .ddModalBack { background:rgba(216,230,235,.82) !important; }
html[data-theme="light"] body.dondominioReplica .ddModal,
html[data-theme="light"] body.dondominioReplica .ddCustomPage > article,
html[data-theme="light"] body.dondominioReplica .ddPageMenuOptions,
html[data-theme="light"] body.dondominioReplica .ddLibrarySelector,
html[data-theme="light"] body.dondominioReplica .ddRich,
html[data-theme="light"] body.dondominioReplica .ddMediaUpload {
  background:#f8fbfc !important; color:#173b46 !important; border-color:#8eb9c5 !important;
}
html[data-theme="light"] body.dondominioReplica .ddRichTools { background:#e8f2f4 !important; border-color:#a9c9d0 !important; }
html[data-theme="light"] body.dondominioReplica .ddRichArea { background:#fff !important; color:#173b46 !important; }
html[data-theme="light"] body.dondominioReplica .ddFilePreview,
html[data-theme="light"] body.dondominioReplica .ddFileIcon,
html[data-theme="light"] body.dondominioReplica .ddMediaGrid figure { background:#fff !important; border-color:#bad4da !important; color:#173b46 !important; }

/* Ventanas y avisos añadidos por las actualizaciones. */
html[data-theme="light"] body.dondominioReplica .ea2fmoCorrection,
html[data-theme="light"] body.dondominioReplica .ea2fmoDownloadBack section,
html[data-theme="light"] body.dondominioReplica .ea2fmoQsoNotice {
  background:#f8fbfc !important; color:#173b46 !important; box-shadow:0 20px 55px rgba(34,78,90,.18) !important;
}
html[data-theme="light"] body.dondominioReplica .ea2fmoCorrection header p,
html[data-theme="light"] body.dondominioReplica .ea2fmoDownloadBack p,
html[data-theme="light"] body.dondominioReplica .ea2fmoQsoNotice p { color:#58727b !important; }

/* Mantener colores funcionales pero legibles. */
html[data-theme="light"] body.dondominioReplica a { text-decoration-thickness:1px; }
html[data-theme="light"] body.dondominioReplica button:disabled { opacity:.58; }

/* v526 · Portada clara: iconografía coherente y puertas superiores con más presencia en PC.
   IMPORTANTE: no modifica la composición móvil aprobada (<=700px). */
@media (min-width:701px) {
  body.dondominioReplica .hubLevels > * { min-height:150px !important; }
  body.dondominioReplica .hubLevels > button > span.levelIcon {
    width:58px !important; height:58px !important; border-radius:15px !important;
    font-size:1.2rem !important;
  }
}

/* En tema claro ningún icono funcional de portada debe conservar una pastilla casi negra. */
html[data-theme="light"] body.dondominioReplica .hubLevels .levelIcon,
html[data-theme="light"] body.dondominioReplica .ea2fmoSotaLogo,
html[data-theme="light"] body.dondominioReplica .ea2fmoEchoLinkLogo,
html[data-theme="light"] body.dondominioReplica .ea2fmoDmrLiveIcon,
html[data-theme="light"] body.dondominioReplica .externalServicesIcon,
html[data-theme="light"] body.dondominioReplica .ddHubIcon {
  background:#e8f5f6 !important;
  color:#147f8c !important;
  border-color:#8fc5cc !important;
  box-shadow:none !important;
}
html[data-theme="light"] body.dondominioReplica .hubLevels .publicLevel .levelIcon {
  background:#fff4d8 !important; color:#9a6a08 !important; border-color:#dfbd6c !important;
}
html[data-theme="light"] body.dondominioReplica .hubLevels .panelLevel .levelIcon,
html[data-theme="light"] body.dondominioReplica .ea2fmoEchoLinkLogo {
  background:#e4f7ef !important; color:#17795f !important; border-color:#86cbb2 !important;
}
html[data-theme="light"] body.dondominioReplica .hubLevels .privateLevel .levelIcon,
html[data-theme="light"] body.dondominioReplica .ea2fmoSotaLogo,
html[data-theme="light"] body.dondominioReplica .ea2fmoDmrLiveIcon {
  background:#f1eafb !important; color:#7048a1 !important; border-color:#b9a0d7 !important;
}
html[data-theme="light"] body.dondominioReplica .hubLevels .roadHelpLevel .levelIcon {
  background:#fff0e3 !important; color:#a8511f !important; border-color:#dda278 !important;
}
/* Pequeños pictogramas/botones visuales de tarjetas de herramientas. Se aclara solo su caja, no fotos/mapas. */
html[data-theme="light"] body.dondominioReplica .toolIcon,
html[data-theme="light"] body.dondominioReplica .cardIcon,
html[data-theme="light"] body.dondominioReplica .featureIcon,
html[data-theme="light"] body.dondominioReplica .quickIcon,
html[data-theme="light"] body.dondominioReplica [class*="ToolIcon"],
html[data-theme="light"] body.dondominioReplica [class*="CardIcon"],
html[data-theme="light"] body.dondominioReplica [class*="FeatureIcon"] {
  background:#edf7f8 !important; color:#167d89 !important; border-color:#a1cbd1 !important;
  box-shadow:none !important;
}

/* v550 · TABLET · Me gusta / Compartir ultradiscretos */
@media (min-width:701px) and (max-width:1100px) {
  .ea2fmoSiteLikes {
    width:max-content !important;
    max-width:calc(100% - 20px) !important;
    margin:5px auto !important;
    padding:2px 3px !important;
    gap:2px !important;
    flex-wrap:nowrap !important;
    border:0 !important;
    border-radius:7px !important;
    background:transparent !important;
    box-shadow:none !important;
  }
  .ea2fmoSiteLikes > div { display:none !important; }
  .ea2fmoSiteLikes button {
    flex:0 0 auto !important;
    min-width:0 !important;
    min-height:24px !important;
    height:24px !important;
    margin:0 !important;
    padding:2px 6px !important;
    border:1px solid rgba(80,130,145,.26) !important;
    border-radius:6px !important;
    background:rgba(8,30,41,.24) !important;
    box-shadow:none !important;
    font-size:0 !important;
    line-height:1 !important;
    opacity:.76 !important;
  }
  .ea2fmoSiteLikes .ea2fmoLikeButton::before {
    content:'♥' !important;
    color:#aac8d0 !important;
    font-size:10px !important;
    margin-right:3px !important;
  }
  .ea2fmoSiteLikes .ea2fmoLikeButton span {
    font-size:9px !important;
    color:#9fb9c1 !important;
  }
  .ea2fmoSiteLikes .ea2fmoLikeButton.liked::before { color:#e89bad !important; }
  .ea2fmoSiteLikes .ea2fmoWebShare::before {
    content:'↗' !important;
    color:#9fb9c1 !important;
    font-size:11px !important;
  }
}

/* v575 · SOTA en página independiente */
.ea2fmoSotaCompact{padding:clamp(15px,2vw,22px)!important}
.ea2fmoSotaCompact>header{cursor:default!important;grid-template-columns:auto minmax(0,1fr) auto!important}
.ea2fmoSotaCompact .ea2fmoSotaActions{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;margin-top:14px}
.ea2fmoSotaCompact .ea2fmoSotaActions>*{display:flex;align-items:center;justify-content:center;min-height:42px!important;padding:10px 12px!important;text-align:center}
.ea2fmoSotaCompact .ea2fmoSotaPrimary{background:#5d3189!important;color:#fff!important}
@media(max-width:720px){.ea2fmoSotaCompact .ea2fmoSotaActions{grid-template-columns:repeat(2,minmax(0,1fr))}.ea2fmoSotaCompact .ea2fmoSotaActions>*{width:auto!important}.ea2fmoSotaCompact header p{font-size:10px}}
