
/* V47.78 — Especialidad: barra oculta, sesión autenticada y panel estable en escritorio/móvil. */
body.especialidad-abierta #cabeceraPrincipalMovil>.top{
  visibility:hidden!important;opacity:0!important;pointer-events:none!important;
}

#especialidadPanel{
  position:fixed;inset:0;z-index:65;display:none;overflow:auto;box-sizing:border-box;
  padding:max(14px,env(safe-area-inset-top)) 12px max(26px,env(safe-area-inset-bottom));
  color:var(--text);background-color:var(--bg);isolation:isolate;
  background:
    radial-gradient(circle at 12% 12%,color-mix(in srgb,var(--primario) 16%,transparent),transparent 24%),
    linear-gradient(145deg,color-mix(in srgb,var(--primarioLight) 26%,var(--bg)),var(--bg));
}
#especialidadPanel::before{
  content:"N   ✦   E";position:fixed;right:20px;top:62px;pointer-events:none;
  color:var(--textoAcento);font-weight:900;letter-spacing:8px;opacity:.075;font-size:20px;z-index:-1;
}
body.dark #especialidadPanel{
  background-color:var(--bg);
  background-image:
    radial-gradient(circle at 12% 12%,color-mix(in srgb,var(--primario) 19%,transparent),transparent 25%),
    radial-gradient(circle at 88% 85%,color-mix(in srgb,var(--primario2) 10%,transparent),transparent 30%),
    linear-gradient(145deg,#07151c,var(--bg) 48%,#0b2026);
  background-size:auto,auto,auto;
}
.tema-especialidad .ico{background:linear-gradient(145deg,#f4e5ff,#d9b8ff)!important;color:#6836a5!important}
.tema-especialidad .tema-ruta-chip{background:#f2e8ff!important;color:#6836a5!important;border-color:#d7b7f6!important}
.esp-shell{width:min(100%,780px);margin:0 auto;padding-bottom:30px}
.esp-topbar{display:flex;align-items:center;gap:10px;margin-bottom:12px}
.esp-back{appearance:none;border:1px solid var(--borde);border-radius:999px;background:var(--card);color:var(--text);padding:9px 13px;font-weight:900;font-size:11px;cursor:pointer;box-shadow:0 5px 14px rgba(3,39,59,.07)}
.esp-brand{min-width:0;flex:1}.esp-brand b,.esp-brand small{display:block}.esp-brand b{color:var(--textoAcento);font-size:15px}.esp-brand small{margin-top:2px;font-size:8px;opacity:.58;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.esp-preview-chip{flex:0 0 auto;padding:7px 9px;border:1px solid color-mix(in srgb,#7e57c2 32%,var(--borde));border-radius:999px;background:color-mix(in srgb,#7e57c2 10%,var(--card));color:#6b3aa5;font-size:7px;font-weight:950;letter-spacing:.55px}
.esp-hero{position:relative;overflow:hidden;margin-bottom:14px;padding:20px;border-radius:24px;color:#fff;background:linear-gradient(135deg,#3d1d68,#6d3aaa 54%,#8a5ec4);box-shadow:0 18px 38px rgba(71,35,112,.27)}
.esp-hero::after{content:"⚓";position:absolute;right:-15px;bottom:-50px;font-size:145px;opacity:.1;transform:rotate(-12deg)}
.esp-hero>*{position:relative;z-index:1}.esp-kicker{display:inline-flex;align-items:center;gap:5px;padding:5px 8px;border:1px solid rgba(255,255,255,.25);border-radius:999px;background:rgba(255,255,255,.13);font-size:7px;font-weight:950;letter-spacing:.8px}
.esp-hero h2{margin:9px 0 5px;font-size:25px;line-height:1.08}.esp-hero p{max-width:560px;margin:0;font-size:10px;line-height:1.45;opacity:.82}
.esp-payline{display:flex;flex-wrap:wrap;gap:6px;margin-top:14px}.esp-payline span{padding:6px 8px;border-radius:9px;background:rgba(255,255,255,.14);font-size:7.5px;font-weight:900}
.esp-section-head{display:flex;align-items:end;justify-content:space-between;gap:8px;margin:16px 2px 9px}.esp-section-head div{min-width:0}.esp-section-head small{display:block;color:#6b3aa5;font-size:7px;font-weight:950;letter-spacing:.7px}.esp-section-head h3{margin:3px 0 0;font-size:16px}.esp-section-head>span{font-size:7px;opacity:.58;text-align:right}
.esp-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.esp-grid.one{grid-template-columns:1fr}.esp-card{appearance:none;position:relative;display:flex;min-width:0;min-height:96px;align-items:center;gap:11px;padding:13px;border:1px solid color-mix(in srgb,#7e57c2 18%,var(--borde));border-radius:19px;background:linear-gradient(145deg,var(--card),color-mix(in srgb,#7e57c2 5%,var(--card)));color:var(--text);text-align:left;cursor:pointer;box-shadow:0 9px 22px rgba(32,20,57,.08);transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease}
html.academia-hover-capable .esp-card:hover{transform:translateY(-2px);border-color:#9b75c9;box-shadow:0 14px 28px rgba(81,45,138,.15)}.esp-card:active{transform:scale(.985)}
.esp-card-icon{display:flex;width:49px;height:49px;flex:0 0 49px;align-items:center;justify-content:center;border-radius:15px;background:linear-gradient(145deg,#f0e5ff,#d8bcf6);font-size:24px;box-shadow:inset 0 1px rgba(255,255,255,.7)}
.esp-card-copy{min-width:0;flex:1}.esp-card-copy b,.esp-card-copy small,.esp-card-copy em{display:block}.esp-card-copy b{font-size:12px;line-height:1.2}.esp-card-copy small{margin-top:4px;font-size:8px;line-height:1.35;opacity:.62}.esp-card-copy em{margin-top:6px;color:#6b3aa5;font-size:7px;font-style:normal;font-weight:950;letter-spacing:.45px}.esp-arrow{flex:0 0 auto;color:#6b3aa5;font-size:26px;font-weight:400}.esp-count{position:absolute;right:11px;top:9px;padding:4px 6px;border-radius:999px;background:#f0e5ff;color:#6b3aa5;font-size:6.5px;font-weight:950}
.esp-card.disabled{opacity:.52;cursor:not-allowed;filter:saturate(.55)}.esp-card.disabled .esp-arrow{font-size:16px}
.esp-breadcrumb{display:flex;gap:5px;overflow:auto;margin:-2px 0 12px;padding:0 2px 3px;scrollbar-width:none}.esp-breadcrumb::-webkit-scrollbar{display:none}.esp-breadcrumb span{flex:0 0 auto;padding:5px 7px;border:1px solid var(--borde);border-radius:999px;background:var(--card);font-size:6.5px;font-weight:850;opacity:.72}.esp-breadcrumb span:last-child{border-color:#9b75c9;background:#f0e5ff;color:#633196;opacity:1}
.esp-empty{padding:25px 16px;border:1px dashed #aa89ce;border-radius:20px;background:color-mix(in srgb,#7e57c2 6%,var(--card));text-align:center}.esp-empty span{font-size:42px}.esp-empty b,.esp-empty small{display:block}.esp-empty b{margin-top:8px;color:#6b3aa5}.esp-empty small{max-width:430px;margin:5px auto 0;font-size:9px;line-height:1.45;opacity:.65}
.esp-question{padding:16px;border:1px solid color-mix(in srgb,#7e57c2 22%,var(--borde));border-radius:22px;background:var(--card);box-shadow:0 14px 32px rgba(31,18,54,.11)}
.esp-question-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.esp-question-head span{font-size:8px;font-weight:950;color:#6b3aa5}.esp-question-head small{font-size:7px;opacity:.58}.esp-progress{height:6px;margin:9px 0 18px;overflow:hidden;border-radius:999px;background:color-mix(in srgb,#7e57c2 12%,var(--grisClaro))}.esp-progress i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#7e57c2,#b77be6)}
.esp-question h3{margin:0 0 14px;font-size:17px;line-height:1.35}.esp-options{display:grid;gap:8px}.esp-option{appearance:none;display:flex;align-items:flex-start;gap:9px;width:100%;padding:12px;border:1px solid var(--borde);border-radius:14px;background:var(--bg);color:var(--text);text-align:left;font:inherit;font-size:10px;line-height:1.4;cursor:pointer}.esp-option b{display:flex;width:24px;height:24px;flex:0 0 24px;align-items:center;justify-content:center;border-radius:8px;background:#eee4f8;color:#64339a}.esp-option.correcta{border-color:#16a36a;background:#e8fff4}.esp-option.correcta b{background:#16a36a;color:#fff}.esp-option.incorrecta{border-color:#df5555;background:#fff0f0}.esp-option.incorrecta b{background:#df5555;color:#fff}
.esp-feedback{display:none;margin-top:12px;padding:12px;border-left:4px solid #7e57c2;border-radius:11px;background:#f2e9fb;font-size:9px;line-height:1.45;color:#3d235b}.esp-feedback.visible{display:block}.esp-next{display:none;width:100%;margin-top:12px;padding:13px;border:0;border-radius:13px;background:linear-gradient(135deg,#7e57c2,#5c2e91);color:#fff;font-weight:950;cursor:pointer}.esp-next.visible{display:block}
.esp-source{margin-top:12px;padding-top:10px;border-top:1px solid var(--borde);font-size:7px;line-height:1.4;opacity:.56}
@media(max-width:520px){#especialidadPanel{padding-left:10px;padding-right:10px}.esp-grid{grid-template-columns:1fr}.esp-hero{padding:18px 16px}.esp-hero h2{font-size:23px}.esp-card{min-height:86px}.esp-preview-chip{display:none}.esp-section-head>span{display:none}}

.esp-card[disabled]{pointer-events:none}.esp-empty b{font-size:15px}

/* V47.62: Nucleo SJN mantiene el mismo sistema visual de Escala. */

/* V47.63: depuración de bancos; diseño sin cambios. */

/* V47.66 — Flujo previo al pago en panel inferior con fondo difuminado. */
#especialidadPanel.esp-sheet-mode{
  inset:0;padding:0;overflow:hidden;align-items:flex-end;justify-content:center;
  background:rgba(7,22,34,.34);background-image:none;
  -webkit-backdrop-filter:blur(11px) saturate(.84);backdrop-filter:blur(11px) saturate(.84);
}
body.dark #especialidadPanel.esp-sheet-mode{background:rgba(0,8,15,.52);background-image:none}
#especialidadPanel.esp-sheet-mode #especialidadContenido{
  width:100%;max-height:min(88vh,780px);overflow:auto;overscroll-behavior:contain;
  border-radius:27px 27px 0 0;background:var(--card);color:var(--text);
  box-shadow:0 -20px 65px rgba(4,24,37,.28);animation:espSheetUp .28s cubic-bezier(.2,.8,.2,1);
  padding-bottom:max(10px,env(safe-area-inset-bottom));
}
#especialidadPanel.esp-full-mode{display:block;overflow:auto}
#especialidadPanel.esp-full-mode #especialidadContenido{width:auto;max-height:none;overflow:visible;border-radius:0;background:transparent;box-shadow:none;animation:none}
@keyframes espSheetUp{from{transform:translateY(102%);opacity:.7}to{transform:translateY(0);opacity:1}}
.esp-sheet{width:min(100%,640px);box-sizing:border-box;margin:0 auto;padding:8px 16px 18px}
.esp-sheet-handle{width:46px;height:5px;margin:0 auto 13px;border-radius:999px;background:color-mix(in srgb,var(--text) 17%,transparent)}
.esp-sheet-top{display:grid;grid-template-columns:42px minmax(0,1fr) 36px;gap:10px;align-items:start}
.esp-sheet-back{appearance:none;width:38px;height:38px;border:1px solid var(--borde);border-radius:13px;background:var(--bg);color:var(--text);font-weight:950;font-size:17px;box-shadow:0 4px 12px rgba(4,36,54,.06)}
.esp-sheet-top>div{min-width:0}.esp-sheet-top small{display:block;margin-top:1px;color:#7145a5;font-size:8px;font-weight:950;letter-spacing:.85px}.esp-sheet-top h2{margin:4px 0 3px;color:var(--textoAcento);font-size:20px;line-height:1.08}.esp-sheet-top p{margin:0;font-size:9px;line-height:1.42;opacity:.62}
.esp-sheet-lock{display:flex;width:34px;height:34px;align-items:center;justify-content:center;border-radius:12px;background:#f2e9fb;font-size:15px}
.esp-sheet-price{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:15px 0 12px;padding:14px 15px;border-radius:18px;background:linear-gradient(135deg,#43246f,#7545ad 62%,#8f63c3);color:#fff;box-shadow:0 13px 27px rgba(72,38,111,.23)}
.esp-sheet-price>div:first-child small{display:block;font-size:7px;font-weight:950;letter-spacing:.75px;opacity:.72}.esp-sheet-price>div:first-child b{display:block;margin-top:3px;font-size:24px;line-height:1}.esp-sheet-price>div:first-child b span{font-size:9px}.esp-sheet-price>div:last-child{text-align:right}.esp-sheet-price strong,.esp-sheet-price>div:last-child small{display:block}.esp-sheet-price strong{font-size:13px}.esp-sheet-price>div:last-child small{margin-top:3px;font-size:7px;opacity:.7}
.esp-sheet-list{display:grid;gap:9px;margin-top:13px}.esp-sheet-list.compact{grid-template-columns:repeat(2,minmax(0,1fr))}
.esp-sheet-choice{appearance:none;display:grid;grid-template-columns:46px minmax(0,1fr) 18px;align-items:center;gap:11px;width:100%;min-height:78px;padding:11px 12px;border:1px solid color-mix(in srgb,#7e57c2 17%,var(--borde));border-radius:18px;background:linear-gradient(145deg,var(--card),color-mix(in srgb,#7e57c2 4%,var(--card)));color:var(--text);text-align:left;box-shadow:0 7px 19px rgba(37,23,58,.07)}
.esp-sheet-choice:active{transform:scale(.986)}.esp-sheet-choice.selected{border-color:#8c63bc;background:#f4ecfd}
.esp-sheet-choice-icon{display:flex;width:46px;height:46px;align-items:center;justify-content:center;border-radius:15px;background:#efe4fb;font-size:22px}.esp-sheet-choice>span:nth-child(2){min-width:0}.esp-sheet-choice b,.esp-sheet-choice small,.esp-sheet-choice em{display:block}.esp-sheet-choice b{font-size:12px;line-height:1.2}.esp-sheet-choice small{margin-top:3px;font-size:8px;line-height:1.32;opacity:.6}.esp-sheet-choice em{margin-top:5px;color:#7145a5;font-size:7px;font-style:normal;font-weight:950;letter-spacing:.35px}.esp-sheet-choice i{color:#7145a5;font-size:22px;font-style:normal}
.esp-sheet-selection{display:flex;align-items:center;gap:10px;margin:14px 0 10px;padding:10px 12px;border:1px solid #ddcaef;border-radius:15px;background:#f7f1fd;color:#4d2c70}.esp-sheet-selection>span{display:flex;width:34px;height:34px;align-items:center;justify-content:center;border-radius:11px;background:#eadcf8;font-size:17px}.esp-sheet-selection small,.esp-sheet-selection b{display:block}.esp-sheet-selection small{font-size:7px;font-weight:950;letter-spacing:.65px;opacity:.68}.esp-sheet-selection b{margin-top:2px;font-size:10px}
body.dark .esp-sheet-selection{background:#2b2038;color:#e8d8fb;border-color:#503f64}.esp-sheet-note{margin:12px 3px 0;text-align:center;font-size:7.5px;line-height:1.4;opacity:.56}
.esp-purchase-summary{margin:15px 0 10px;padding:14px;border:1px solid color-mix(in srgb,#7e57c2 20%,var(--borde));border-radius:19px;background:linear-gradient(145deg,var(--card),color-mix(in srgb,#7e57c2 5%,var(--card)));box-shadow:0 8px 22px rgba(40,25,62,.08)}
.esp-purchase-title{display:flex;align-items:center;gap:12px;padding-bottom:12px;border-bottom:1px solid var(--borde)}.esp-purchase-title>span{display:flex;width:50px;height:50px;align-items:center;justify-content:center;border-radius:16px;background:#eee1fa;font-size:24px}.esp-purchase-title small{display:block;color:#7145a5;font-size:7px;font-weight:950;letter-spacing:.45px}.esp-purchase-title h3{margin:3px 0 1px;font-size:17px}.esp-purchase-title p{margin:0;font-size:8px;opacity:.57}
.esp-purchase-row{display:flex;justify-content:space-between;gap:15px;padding:10px 2px 0;font-size:9px}.esp-purchase-row span{opacity:.58}.esp-purchase-row b{text-align:right}
.esp-payment-lock{display:flex;align-items:center;gap:10px;margin:10px 0;padding:11px 12px;border:1px solid #e0c7f2;border-radius:15px;background:#f7effd;color:#4e2c6d}.esp-payment-lock>span{display:flex;width:36px;height:36px;flex:0 0 36px;align-items:center;justify-content:center;border-radius:12px;background:#ead7f8}.esp-payment-lock b,.esp-payment-lock small{display:block}.esp-payment-lock b{font-size:10px}.esp-payment-lock small{margin-top:3px;font-size:7.5px;line-height:1.35;opacity:.66}
body.dark .esp-payment-lock{background:#2b2038;color:#eadcf8;border-color:#503f64}
.esp-pay-button{appearance:none;display:flex;align-items:center;justify-content:space-between;width:100%;padding:14px 15px;border:0;border-radius:15px;background:linear-gradient(135deg,#6d3aaa,#8c59be);color:#fff;font-weight:950;box-shadow:0 11px 23px rgba(92,49,139,.26)}.esp-pay-button span{font-size:11px}.esp-pay-button b{font-size:10px}
.esp-preview-unlock{appearance:none;width:100%;margin-top:8px;padding:9px;border:1px dashed #a383c7;border-radius:12px;background:transparent;color:#7145a5;font-size:8px;font-weight:900}
@media(max-width:520px){.esp-sheet{padding-left:12px;padding-right:12px}.esp-sheet-list.compact{grid-template-columns:1fr 1fr}.esp-sheet-list.compact .esp-sheet-choice{grid-template-columns:42px minmax(0,1fr) 12px;gap:8px;padding:9px;min-height:88px}.esp-sheet-list.compact .esp-sheet-choice-icon{width:42px;height:42px}.esp-sheet-list.compact .esp-sheet-choice small{font-size:7px}.esp-sheet-top h2{font-size:19px}}
@media(max-width:370px){.esp-sheet-list.compact{grid-template-columns:1fr}.esp-sheet-list.compact .esp-sheet-choice{min-height:72px}}

/* V47.67: SSN depurado, Legislacion Sanitaria compartida y panel previo al pago funcional. */

/* V47.69 — grados de Núcleo de Tte. Corb. a Cap. Corb.; SSN y SJN disponibles en todos. */
#especialidadPanel.esp-sheet-mode{display:flex!important}
#especialidadPanel.esp-full-mode{display:block!important}
.esp-specialty-list{grid-template-columns:1fr;gap:8px}
.esp-specialty-list .esp-sheet-choice{min-height:70px}
.esp-sheet-choice.disabled,.esp-sheet-choice:disabled{opacity:.48;filter:saturate(.55);cursor:not-allowed;transform:none!important}
.esp-sheet-choice.disabled .esp-sheet-choice-icon,.esp-sheet-choice:disabled .esp-sheet-choice-icon{background:color-mix(in srgb,var(--text) 7%,var(--card))}
.esp-payment-lock.active{border-color:#85d3ad;background:#eafaf2;color:#185f3d}
.esp-payment-lock.active>span{background:#ccefdc}
body.dark .esp-payment-lock.active{border-color:#2c6f50;background:#17382a;color:#d7f7e6}
.esp-pay-button.active{background:linear-gradient(135deg,#16845a,#27a56f);box-shadow:0 11px 23px rgba(22,132,90,.24)}
@media(max-width:520px){
  #especialidadPanel.esp-sheet-mode #especialidadContenido{max-height:91vh}
  .esp-specialty-list .esp-sheet-choice{grid-template-columns:44px minmax(0,1fr) 18px;min-height:68px;padding:10px}
  .esp-specialty-list .esp-sheet-choice-icon{width:44px;height:44px}
}


/* V47.71: grados navales estilizados y contenidos dentro de círculos. */
.esp-sheet-choice-icon,.esp-sheet-selection>span,.esp-purchase-title>span,.esp-card-icon{
  box-sizing:border-box;overflow:hidden;white-space:nowrap;line-height:1;
  font-family:"Apple Color Emoji","Segoe UI Emoji","Noto Color Emoji",sans-serif;
  text-align:center;vertical-align:middle;
}
.esp-sheet-choice-icon{flex:0 0 46px;padding:0;font-size:20px;letter-spacing:0}
.esp-sheet-selection>span{flex:0 0 34px;padding:0;font-size:17px;letter-spacing:0}
.esp-purchase-title>span{flex:0 0 50px;padding:0;font-size:22px;letter-spacing:0}
.esp-card-icon{padding:0;line-height:1;font-size:22px;letter-spacing:0}
@media(max-width:520px){
 .esp-sheet-list.compact .esp-sheet-choice-icon,.esp-specialty-list .esp-sheet-choice-icon{font-size:19px;overflow:hidden}
}


/* Distintivos simplificados para navegación. No sustituyen las divisas reglamentarias. */
.esp-sheet-choice-icon.rank-icon{
  border-radius:50%;
  background:linear-gradient(145deg,#173f5c,#08283e);
  border:1px solid rgba(241,205,112,.56);
  box-shadow:inset 0 1px rgba(255,255,255,.16),0 6px 14px rgba(8,40,62,.2);
}
.esp-rank-badge{
  --rank-gold:#f0ce75;
  --rank-bars:1;
  position:relative;display:flex;width:38px;height:38px;max-width:38px;max-height:38px; flex:0 0 38px;
  align-items:center;justify-content:center;overflow:hidden;border-radius:50%;
  border:1px solid rgba(255,255,255,.18);
  background:radial-gradient(circle at 35% 24%,#315f7d 0,#173f5c 38%,#071f31 100%);
  color:#fff7db;font-family:"Arial Narrow","Roboto Condensed",Arial,sans-serif;
  font-variant-numeric:tabular-nums;box-shadow:inset 0 0 0 2px rgba(240,206,117,.1);
}
.esp-rank-badge::before{
  content:"";position:absolute;inset:3px;border:1px solid rgba(240,206,117,.28);border-radius:50%;pointer-events:none;
}
.esp-rank-label{
  position:absolute;z-index:2;top:6px;left:4px;right:4px;display:flex;align-items:center;justify-content:center;
  overflow:visible;
  color:#fff!important;-webkit-text-fill-color:#fff!important;font-size:7.2px;line-height:1;letter-spacing:0;
  text-align:center;white-space:nowrap;font-weight:900;margin:0;padding:0;
  text-shadow:0 1px 2px rgba(0,0,0,.72)!important;font-family:"Arial Narrow","Roboto Condensed","Segoe UI",Arial,sans-serif;
}
.esp-rank-badge i{
  position:absolute;z-index:2;left:8px;right:8px;bottom:7px;height:calc(var(--rank-bars) * 3px - 1px);
  max-height:11px;background:repeating-linear-gradient(to bottom,var(--rank-gold) 0 1.5px,transparent 1.5px 3px);
  filter:drop-shadow(0 1px 1px rgba(0,0,0,.35));
}
.esp-rank-level-0{--rank-bars:0}.esp-rank-level-0 i{left:16px;right:auto;width:4px;height:4px;border-radius:50%;background:var(--rank-gold)}
.esp-rank-code-1 b,.esp-rank-code-2 b,.esp-rank-code-3 b{font-size:7.8px}
.esp-rank-code-4 b{font-size:7px;letter-spacing:0}
.esp-rank-code-5 b,.esp-rank-code-6 b,.esp-rank-code-7 b,.esp-rank-code-8 b{font-size:6.4px;letter-spacing:-.03px}
.esp-rank-level-1{--rank-bars:1}.esp-rank-level-2{--rank-bars:2}.esp-rank-level-3{--rank-bars:3}.esp-rank-level-4{--rank-bars:4}
.esp-rank-oficial{background:radial-gradient(circle at 35% 24%,#3a6280 0,#173c59 40%,#061d2e 100%)}
.esp-rank-capitan{background:radial-gradient(circle at 35% 24%,#5e4e26 0,#263e4e 38%,#071e2e 100%)}
.esp-rank-marineria b{font-size:7.8px}
.esp-sheet-selection>span.esp-selection-rank{
  display:flex;width:42px;height:42px;flex:0 0 42px;align-items:center;justify-content:center;padding:0;
  overflow:hidden;border-radius:50%;background:linear-gradient(145deg,#173f5c,#08283e);
  border:1px solid rgba(241,205,112,.5);font-family:inherit;
}
.esp-selection-rank .esp-rank-badge{width:37px;height:37px;max-width:37px;max-height:37px;flex-basis:37px}
body.dark .esp-sheet-choice-icon.rank-icon,body.dark .esp-sheet-selection>span.esp-selection-rank{
  border-color:rgba(241,205,112,.48);background:linear-gradient(145deg,#1c4968,#08263a);
}
.esp-sheet-choice-icon.rank-icon,.esp-sheet-selection>span.esp-selection-rank{color:transparent!important}
.esp-rank-badge,.esp-rank-label,.esp-rank-badge i{color:#fff9e9!important}
body:not(.dark) .esp-sheet-choice-icon.rank-icon,body:not(.dark) .esp-sheet-selection>span.esp-selection-rank{background:linear-gradient(145deg,#1b4969,#08293f)!important;border-color:rgba(241,205,112,.62)!important}
@media(max-width:520px){
  .esp-sheet-list.compact .esp-sheet-choice-icon.rank-icon{width:42px;height:42px;flex-basis:42px;border-radius:50%;font-size:initial}
   .esp-sheet-list.compact .esp-rank-badge{width:36px;height:36px;max-width:36px;max-height:36px;flex-basis:36px}
   .esp-rank-label{font-size:6.8px;max-width:none;top:6px;left:4px;right:4px;margin-top:0}
  .esp-rank-code-4 b{font-size:6.6px}
  .esp-rank-code-5 b,.esp-rank-code-6 b,.esp-rank-code-7 b,.esp-rank-code-8 b{font-size:6px}
  .esp-rank-badge i{left:7px;right:7px;bottom:6px}
}


/* V47.76 · Especialidad adaptada a las cinco paletas y al modo oscuro. */
#especialidadPanel{
  --esp-accent:var(--primario);
  --esp-accent-strong:var(--primario2);
  --esp-on-accent:var(--sobrePrimario);
  --esp-soft:color-mix(in srgb,var(--primario) 12%,var(--card));
  --esp-softer:color-mix(in srgb,var(--primario) 6%,var(--card));
  --esp-border:color-mix(in srgb,var(--primario) 24%,var(--borde));
  --esp-shadow:color-mix(in srgb,var(--primario) 22%,transparent);
  --esp-accent-text:var(--textoAcento);
}
.tema-especialidad .ico{background:linear-gradient(145deg,color-mix(in srgb,var(--primario) 16%,var(--card)),color-mix(in srgb,var(--primario) 30%,var(--card)))!important;color:var(--textoAcento)!important}
.tema-especialidad .tema-ruta-chip{background:color-mix(in srgb,var(--primario) 12%,var(--card))!important;color:var(--textoAcento)!important;border-color:color-mix(in srgb,var(--primario) 28%,var(--borde))!important}
.esp-preview-chip{border-color:var(--esp-border);background:var(--esp-soft);color:var(--textoAcento)}
.esp-hero{color:var(--esp-on-accent);background:var(--primario);box-shadow:0 18px 38px var(--esp-shadow)}
.esp-kicker{border-color:color-mix(in srgb,var(--esp-on-accent) 28%,transparent);background:color-mix(in srgb,var(--esp-on-accent) 13%,transparent)}
.esp-payline span{background:color-mix(in srgb,var(--esp-on-accent) 14%,transparent)}
.esp-section-head small,.esp-card-copy em,.esp-arrow,.esp-question-head span,.esp-sheet-top small,.esp-sheet-choice em,.esp-sheet-choice i,.esp-purchase-title small,.esp-preview-unlock{color:var(--esp-accent-text)}
.esp-card,.esp-question,.esp-sheet-choice,.esp-purchase-summary{border-color:var(--esp-border);background:linear-gradient(145deg,var(--card),var(--esp-softer))}
html.academia-hover-capable .esp-card:hover{border-color:color-mix(in srgb,var(--primario) 64%,var(--borde));box-shadow:0 14px 28px var(--esp-shadow)}
.esp-card-icon,.esp-count,.esp-sheet-choice-icon,.esp-sheet-lock,.esp-purchase-title>span{background:var(--esp-soft);color:var(--textoAcento)}
.esp-breadcrumb span:last-child,.esp-sheet-choice.selected{border-color:color-mix(in srgb,var(--primario) 62%,var(--borde));background:var(--esp-soft);color:var(--textoAcento)}
.esp-empty{border-color:color-mix(in srgb,var(--primario) 48%,var(--borde));background:var(--esp-softer)}
.esp-empty b{color:var(--textoAcento)}
.esp-progress{background:color-mix(in srgb,var(--primario) 12%,var(--grisClaro))}.esp-progress i{background:linear-gradient(90deg,var(--primario2),var(--primario))}
.esp-option b{background:var(--esp-soft);color:var(--textoAcento)}
.esp-feedback{border-left-color:var(--textoAcento);background:var(--esp-soft);color:var(--text)}
.esp-next,.esp-pay-button{background:var(--primario);color:var(--esp-on-accent);box-shadow:0 11px 23px var(--esp-shadow)}
.esp-sheet-price{background:var(--primario);color:var(--esp-on-accent);box-shadow:0 13px 27px var(--esp-shadow)}
.esp-sheet-selection,.esp-payment-lock{border-color:var(--esp-border);background:var(--esp-soft);color:var(--text)}
.esp-sheet-selection>span,.esp-payment-lock>span{background:color-mix(in srgb,var(--primario) 18%,var(--card));color:var(--textoAcento)}
.esp-preview-unlock{border-color:color-mix(in srgb,var(--primario) 52%,var(--borde))}
body.dark #especialidadPanel{--esp-soft:color-mix(in srgb,var(--primario) 17%,var(--card));--esp-softer:color-mix(in srgb,var(--primario) 8%,var(--card));--esp-border:color-mix(in srgb,var(--primario) 34%,var(--borde));--esp-shadow:rgba(0,0,0,.34);--esp-accent-text:color-mix(in srgb,var(--primario) 60%,#fff)}
body.dark .esp-sheet-selection,body.dark .esp-payment-lock{background:var(--esp-soft);color:var(--text);border-color:var(--esp-border)}
body.dark .esp-sheet-choice.selected{background:color-mix(in srgb,var(--primario) 20%,var(--card));color:var(--text)}
body.dark .esp-feedback{background:color-mix(in srgb,var(--primario) 15%,var(--card));color:var(--text)}
body.dark .esp-option.correcta{border-color:#35c878;background:#153b2a;color:#b9f6cf}
body.dark .esp-option.incorrecta{border-color:#f05b62;background:#421f23;color:#ffd1d4}

/* V47.76 final - contraste uniforme en las cinco paletas y en modo oscuro. */
#especialidadPanel :where(button,[role="button"]):focus-visible{
  outline:3px solid color-mix(in srgb,var(--primario) 55%,transparent);
  outline-offset:3px;
}
.esp-sheet-top h2,.esp-modalidad-top h2,.esp-purchase-title h3,.esp-section-head h3,.esp-question h3{color:var(--text)}
.esp-sheet-top p,.esp-sheet-note,.esp-card-copy small,.esp-sheet-choice small,.esp-purchase-title p,.esp-source,.esp-brand small{color:var(--muted);opacity:1}
.esp-sheet-back,.esp-modalidad-close,.esp-back{
  border-color:var(--esp-border);background:var(--card);color:var(--text);
  box-shadow:0 4px 12px color-mix(in srgb,var(--text) 8%,transparent);
}
.esp-sheet-lock{border:1px solid var(--esp-border)}
.esp-sheet-choice:not(:disabled):active,.esp-card:not(:disabled):active{filter:brightness(.98)}
.esp-option{background:color-mix(in srgb,var(--card) 94%,var(--bg));border-color:var(--esp-border);color:var(--text)}
.esp-option.correcta{border-color:#15965f;background:#e7f8ef;color:#123d2b}
.esp-option.incorrecta{border-color:#d84b53;background:#fff0f1;color:#5d151a}
.esp-payment-lock.active{border-color:#35a96f;background:#e8f8ef;color:#155a39}
.esp-payment-lock.active>span{background:#c9efd9;color:#155a39}
.esp-pay-button.active{background:#16845a;color:#fff;box-shadow:0 11px 23px rgba(22,132,90,.24)}
body.dark .esp-sheet-back,body.dark .esp-modalidad-close,body.dark .esp-back{background:var(--card);color:var(--text)}
body.dark .esp-card,body.dark .esp-question,body.dark .esp-sheet-choice,body.dark .esp-purchase-summary{box-shadow:0 9px 24px rgba(0,0,0,.24)}
body.dark .esp-option{background:color-mix(in srgb,var(--card) 88%,#000);border-color:var(--esp-border);color:var(--text)}
body.dark .esp-option.correcta{border-color:#35c878;background:#153b2a;color:#c9f8dc}
body.dark .esp-option.incorrecta{border-color:#f05b62;background:#421f23;color:#ffd7da}
body.dark .esp-payment-lock.active{border-color:#3dbb7b;background:#153a29;color:#c8f5dc}
body.dark .esp-payment-lock.active>span{background:#20553c;color:#c8f5dc}
body.dark .esp-pay-button.active{background:#15704d;color:#fff}
body.dark .esp-sheet-note,body.dark .esp-sheet-top p,body.dark .esp-card-copy small,body.dark .esp-sheet-choice small,body.dark .esp-purchase-title p,body.dark .esp-source,body.dark .esp-brand small{color:var(--muted)}
@media (prefers-reduced-motion:reduce){.esp-card,.esp-sheet-choice,#especialidadPanel.esp-sheet-mode #especialidadContenido{animation:none!important;transition:none!important}}



/* V47.78 — Estabilidad visual del panel inferior en equipos con cursor.
   Se neutralizan los transform/filter globales de button:hover que forzaban
   recomposición del backdrop y producían destellos en los bordes. */
#especialidadPanel.esp-sheet-mode #especialidadContenido{
  isolation:isolate;
  contain:layout paint style;
  transform:translate3d(0,0,0);
  -webkit-transform:translate3d(0,0,0);
  backface-visibility:hidden;
  -webkit-backface-visibility:hidden;
  background-clip:padding-box;
  border:1px solid color-mix(in srgb,var(--primario) 18%,transparent);
  border-bottom:0;
  outline:1px solid transparent;
}
#especialidadPanel.esp-sheet-mode :where(.esp-sheet-choice,.esp-sheet-back,.esp-modalidad-close,.esp-pay-button,.esp-preview-unlock){
  transition:none!important;
  will-change:auto!important;
}
html.academia-hover-capable #especialidadPanel.esp-sheet-mode :where(button,.esp-sheet-choice,.esp-sheet-back,.esp-modalidad-close,.esp-pay-button,.esp-preview-unlock):hover,
#especialidadPanel.esp-sheet-mode :where(button,.esp-sheet-choice,.esp-sheet-back,.esp-modalidad-close,.esp-pay-button,.esp-preview-unlock):active{
  transform:none!important;
  filter:none!important;
}
html.academia-hover-capable #especialidadPanel.esp-sheet-mode .esp-sheet-choice:not(:disabled):hover{
  border-color:color-mix(in srgb,var(--primario) 48%,var(--borde));
  background:linear-gradient(145deg,var(--card),var(--esp-soft));
  box-shadow:0 7px 19px color-mix(in srgb,var(--text) 7%,transparent);
}
body.dark #especialidadPanel.esp-sheet-mode #especialidadContenido{
  border-color:color-mix(in srgb,var(--primario) 27%,transparent);
}

/* V47.89 · acceso directo, renovación de la única especialidad vigente y cambio exclusivo para acceso total. */
.esp-access-toolbar{
  display:flex;align-items:center;justify-content:space-between;gap:14px;
  margin:14px 0 4px;padding:13px 14px;border:1px solid var(--esp-border);border-radius:15px;
  background:linear-gradient(145deg,var(--card),var(--esp-softer));box-shadow:0 8px 20px color-mix(in srgb,var(--text) 7%,transparent);
}
.esp-access-toolbar>div{min-width:0;display:grid;gap:2px}
.esp-access-toolbar small{font-size:7px;font-weight:950;letter-spacing:.65px;color:var(--esp-accent-text)}
.esp-access-toolbar b{font-size:13px;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.esp-access-toolbar span{font-size:8px;line-height:1.35;color:var(--muted)}
.esp-access-toolbar button,.esp-renew-button{
  border:1px solid color-mix(in srgb,var(--primario) 48%,var(--borde));border-radius:11px;
  background:var(--primario);color:var(--esp-on-accent);font:inherit;font-weight:900;cursor:pointer;
  box-shadow:0 7px 16px var(--esp-shadow);
}
.esp-access-toolbar button{flex:0 0 auto;padding:9px 11px;font-size:8px}
.esp-renew-button{width:100%;margin-top:9px;padding:11px 13px;display:flex;align-items:center;justify-content:space-between;gap:8px}
.esp-renew-button span{font-size:8px}.esp-renew-button b{font-size:10px}
html.academia-hover-capable .esp-access-toolbar button:hover,html.academia-hover-capable .esp-renew-button:hover{filter:brightness(.97);transform:none}
body.dark .esp-access-toolbar{background:linear-gradient(145deg,var(--card),var(--esp-soft));box-shadow:0 8px 20px rgba(0,0,0,.25)}
@media(max-width:520px){
 .esp-access-toolbar{align-items:flex-start;flex-direction:column;gap:9px}
 .esp-access-toolbar button{width:100%}
}

/* V122 · El test de Especialidad usa exactamente el layout base de los tests de Materias. */


/* V47.89 performance pass: menos trabajo de layout y pintura dentro de Especialidades. */
#especialidadPanel{overscroll-behavior:contain;-webkit-overflow-scrolling:touch}
#especialidadContenido{contain:layout style}
.esp-grid.one .esp-card,.esp-specialty-list .esp-sheet-choice{
  content-visibility:auto;contain-intrinsic-size:1px 92px;
}
@media (hover:none),(pointer:coarse){
  .esp-card,.esp-sheet-choice{transition:none;box-shadow:0 4px 12px rgba(32,20,57,.065)}
  .esp-card:active,.esp-sheet-choice:active{transform:none}
}

/* V47.89 · accesos de estudio completo dentro de Especialidades. */
.esp-study-all{margin:14px 0 5px}
.esp-study-all .esp-card{
 min-height:88px;
 border-color:color-mix(in srgb,var(--primario) 42%,var(--borde));
 background:linear-gradient(145deg,var(--card),var(--esp-soft));
 box-shadow:0 10px 24px var(--esp-shadow);
}
.esp-study-all .esp-card-icon{background:var(--primario);color:var(--esp-on-accent)}
.esp-study-all .esp-card-copy b{color:var(--textoAcento);font-size:13px}
body.dark .esp-study-all .esp-card{background:linear-gradient(145deg,var(--card),var(--esp-soft))}

/* V47.89 · legibilidad reforzada en Especialidades para todas las paletas y modo claro/oscuro. */
#especialidadPanel{
  --esp-readable-strong:var(--text);
  --esp-readable-muted:var(--muted);
}
#especialidadPanel .esp-brand b{
  color:var(--esp-readable-strong);
  font-size:16px;
  font-weight:950;
  line-height:1.2;
}
#especialidadPanel .esp-brand small{
  color:var(--esp-readable-muted);
  font-size:10px;
  font-weight:750;
  line-height:1.35;
  opacity:1;
}
#especialidadPanel .esp-preview-chip{
  color:var(--esp-readable-strong);
  font-size:9px;
  font-weight:950;
  border-width:1px;
}
#especialidadPanel .esp-section-head small{
  color:var(--esp-readable-muted);
  font-size:10px;
  font-weight:950;
  letter-spacing:.55px;
}
#especialidadPanel .esp-section-head h3{
  color:var(--esp-readable-strong);
  font-size:18px;
  font-weight:950;
  line-height:1.2;
}
#especialidadPanel .esp-section-head>span{
  color:var(--esp-readable-muted);
  font-size:10px;
  font-weight:750;
  line-height:1.35;
  opacity:1;
}
#especialidadPanel .esp-card{
  color:var(--esp-readable-strong);
  border-width:1.5px;
}
#especialidadPanel .esp-card-copy b{
  color:var(--esp-readable-strong);
  font-size:14px;
  font-weight:950;
  line-height:1.28;
  letter-spacing:.01em;
}
#especialidadPanel .esp-card-copy small{
  color:var(--esp-readable-muted);
  margin-top:5px;
  font-size:10.5px;
  font-weight:650;
  line-height:1.42;
  opacity:1;
}
#especialidadPanel .esp-card-copy em{
  color:var(--esp-readable-strong);
  margin-top:7px;
  font-size:9.5px;
  font-weight:900;
  line-height:1.3;
  letter-spacing:.25px;
}
#especialidadPanel .esp-count{
  color:var(--esp-readable-strong);
  min-width:24px;
  padding:5px 7px;
  border:1px solid var(--esp-border);
  font-size:9px;
  font-weight:950;
  line-height:1;
  text-align:center;
}
#especialidadPanel .esp-arrow{
  color:var(--esp-readable-strong);
  opacity:.72;
}
#especialidadPanel .esp-breadcrumb span{
  color:var(--esp-readable-strong);
  border-color:var(--esp-border);
  font-size:9.5px;
  font-weight:850;
  line-height:1.25;
  opacity:1;
}
#especialidadPanel .esp-breadcrumb span:last-child{
  color:var(--esp-readable-strong);
  font-weight:950;
}
#especialidadPanel .esp-empty b{color:var(--esp-readable-strong)}
#especialidadPanel .esp-empty small{
  color:var(--esp-readable-muted);
  font-size:10.5px;
  font-weight:650;
  opacity:1;
}
#especialidadPanel .esp-sheet-top small{
  color:var(--esp-readable-muted);
  font-size:10px;
  font-weight:950;
}
#especialidadPanel .esp-sheet-top h2{
  color:var(--esp-readable-strong);
  font-size:21px;
  font-weight:950;
  line-height:1.15;
}
#especialidadPanel .esp-sheet-top p{
  color:var(--esp-readable-muted);
  font-size:10.5px;
  font-weight:650;
  line-height:1.45;
  opacity:1;
}
#especialidadPanel .esp-sheet-choice{
  color:var(--esp-readable-strong);
  border-width:1.5px;
}
#especialidadPanel .esp-sheet-choice b{
  color:var(--esp-readable-strong);
  font-size:13.5px;
  font-weight:950;
  line-height:1.28;
}
#especialidadPanel .esp-sheet-choice small{
  color:var(--esp-readable-muted);
  margin-top:4px;
  font-size:10px;
  font-weight:650;
  line-height:1.38;
  opacity:1;
}
#especialidadPanel .esp-sheet-choice em{
  color:var(--esp-readable-strong);
  margin-top:6px;
  font-size:9px;
  font-weight:900;
  line-height:1.3;
}
#especialidadPanel .esp-sheet-choice i{
  color:var(--esp-readable-strong);
  opacity:.72;
}
#especialidadPanel .esp-sheet-selection small{
  color:var(--esp-readable-muted);
  font-size:9px;
  font-weight:950;
  opacity:1;
}
#especialidadPanel .esp-sheet-selection b{
  color:var(--esp-readable-strong);
  font-size:11px;
  font-weight:950;
  line-height:1.3;
}
#especialidadPanel .esp-sheet-note{
  color:var(--esp-readable-muted);
  font-size:9.5px;
  font-weight:650;
  line-height:1.45;
  opacity:1;
}
#especialidadPanel .esp-access-toolbar small{
  color:var(--esp-readable-muted);
  font-size:9px;
}
#especialidadPanel .esp-access-toolbar b{font-size:14px}
#especialidadPanel .esp-access-toolbar span{
  color:var(--esp-readable-muted);
  font-size:10px;
  font-weight:650;
}
#especialidadPanel .esp-study-all .esp-card-copy b{
  color:var(--esp-readable-strong);
  font-size:14.5px;
}
#especialidadPanel .esp-card.disabled,
#especialidadPanel .esp-sheet-choice.disabled,
#especialidadPanel .esp-sheet-choice:disabled{
  opacity:.68;
  filter:saturate(.42);
  color:var(--esp-readable-strong);
}
#especialidadPanel .esp-card.disabled .esp-card-copy b,
#especialidadPanel .esp-sheet-choice.disabled b,
#especialidadPanel .esp-sheet-choice:disabled b{
  color:var(--esp-readable-strong);
}
#especialidadPanel .esp-card.disabled .esp-card-copy small,
#especialidadPanel .esp-sheet-choice.disabled small,
#especialidadPanel .esp-sheet-choice:disabled small{
  color:var(--esp-readable-muted);
}
body.dark #especialidadPanel .esp-card,
body.dark #especialidadPanel .esp-sheet-choice,
body.dark #especialidadPanel .esp-breadcrumb span,
body.dark #especialidadPanel .esp-count{
  text-shadow:0 1px 1px rgba(0,0,0,.18);
}
@media(max-width:520px){
  #especialidadPanel .esp-card-copy b{font-size:14px}
  #especialidadPanel .esp-card-copy small{font-size:10.5px}
  #especialidadPanel .esp-sheet-choice b{font-size:13px}
  #especialidadPanel .esp-sheet-choice small,
  #especialidadPanel .esp-sheet-list.compact .esp-sheet-choice small{font-size:9.5px}
  #especialidadPanel .esp-section-head h3{font-size:17px}
}

/* V47.89 · tamaños mínimos legibles para textos auxiliares de Especialidades. */
#especialidadPanel .esp-kicker{font-size:9.5px;font-weight:950;line-height:1.2}
#especialidadPanel .esp-hero p{font-size:11.5px;line-height:1.5;opacity:.94}
#especialidadPanel .esp-payline span{font-size:9px;line-height:1.25}
#especialidadPanel .esp-sheet-price>div:first-child small,
#especialidadPanel .esp-sheet-price>div:last-child small{font-size:9px;line-height:1.3;opacity:.92}
#especialidadPanel .esp-sheet-price strong{font-size:14px}
#especialidadPanel .esp-purchase-title small{color:var(--esp-readable-muted);font-size:9px}
#especialidadPanel .esp-purchase-title p{color:var(--esp-readable-muted);font-size:10px;line-height:1.4;opacity:1}
#especialidadPanel .esp-purchase-row{font-size:10.5px;line-height:1.35}
#especialidadPanel .esp-purchase-row span{color:var(--esp-readable-muted);opacity:1}
#especialidadPanel .esp-payment-lock b{font-size:11.5px;line-height:1.3}
#especialidadPanel .esp-payment-lock small{color:var(--esp-readable-muted);font-size:10px;line-height:1.4;opacity:1}
#especialidadPanel .esp-pay-button span,#especialidadPanel .esp-pay-button b{font-size:11px}
#especialidadPanel .esp-preview-unlock{color:var(--esp-readable-strong);font-size:10px}
#especialidadPanel .esp-question-head span{color:var(--esp-readable-strong);font-size:10px}
#especialidadPanel .esp-question-head small{color:var(--esp-readable-muted);font-size:9.5px;opacity:1}
#especialidadPanel .esp-question h3{font-size:18px;line-height:1.42}
#especialidadPanel .esp-option{font-size:12px;line-height:1.45;font-weight:650}
#especialidadPanel .esp-feedback{font-size:11px;line-height:1.5}
#especialidadPanel .esp-source{color:var(--esp-readable-muted);font-size:9.5px;line-height:1.45;opacity:1}
#especialidadPanel .esp-next{font-size:11px}


/* V47.89 - insignias navales: blanco fijo y ajuste para pantallas pequenas. */
#especialidadPanel .esp-sheet-choice-icon.rank-icon,
#especialidadPanel .esp-sheet-selection>span.esp-selection-rank{
  background:linear-gradient(145deg,#1b4969,#08293f)!important;
  border-color:rgba(241,205,112,.66)!important;
  color:transparent!important;
}
#especialidadPanel .esp-rank-badge,
#especialidadPanel .esp-rank-label{
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
}
#especialidadPanel .esp-rank-label{
  position:absolute!important;
  top:6px!important;left:4px!important;right:4px!important;
  width:auto!important;max-width:none!important;
  display:flex!important;align-items:center!important;justify-content:center!important;
  overflow:visible!important;text-overflow:clip!important;
  white-space:nowrap!important;
  color:#fff!important;-webkit-text-fill-color:#fff!important;
  font-family:"Arial Narrow","Roboto Condensed","Segoe UI",Arial,sans-serif!important;
  font-weight:900!important;font-size:7.1px!important;line-height:1!important;letter-spacing:0!important;
  margin:0!important;padding:0!important;
  text-shadow:0 1px 2px rgba(0,0,0,.72)!important;
}
body:not(.dark) #especialidadPanel .esp-rank-badge,
body:not(.dark) #especialidadPanel .esp-rank-label,
body.dark #especialidadPanel .esp-rank-badge,
body.dark #especialidadPanel .esp-rank-label{
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
}
@media(max-width:390px){
  #especialidadPanel .esp-sheet-list.compact{grid-template-columns:1fr!important}
  #especialidadPanel .esp-sheet-list.compact .esp-sheet-choice{min-height:68px!important;grid-template-columns:46px minmax(0,1fr) 16px!important}
  #especialidadPanel .esp-sheet-list.compact .esp-sheet-choice-icon.rank-icon{width:44px!important;height:44px!important;flex-basis:44px!important}
  #especialidadPanel .esp-sheet-list.compact .esp-rank-badge{width:38px!important;height:38px!important;max-width:38px!important;max-height:38px!important;flex-basis:38px!important}
  #especialidadPanel .esp-rank-label{font-size:6.9px!important;top:6px!important;left:4px!important;right:4px!important}
  #especialidadPanel .esp-rank-code-4 b{font-size:6.8px!important}
  #especialidadPanel .esp-rank-code-5 b,#especialidadPanel .esp-rank-code-6 b,#especialidadPanel .esp-rank-code-7 b,#especialidadPanel .esp-rank-code-8 b{font-size:6.3px!important}
}

/* V47.89 final badges: siglas blancas y centradas sin recorte */
.esp-rank-badge,.esp-rank-badge *,#especialidadPanel .esp-rank-badge,#especialidadPanel .esp-rank-badge *{color:#fff!important;-webkit-text-fill-color:#fff!important}
body:not(.dark) .esp-rank-label, body.dark .esp-rank-label{color:#fff!important;-webkit-text-fill-color:#fff!important}

/* 47.89-rank-white-perf-guardia-natural-estrella-2: etiqueta de grado aislada de estilos genericos y blanco fijo. */
#especialidadPanel .esp-rank-label,
body:not(.dark) #especialidadPanel .esp-rank-label,
body.dark #especialidadPanel .esp-rank-label{
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
  opacity:1!important;
  filter:none!important;
  mix-blend-mode:normal!important;
}

/* V14 · Especialidad conserva el fondo nautico sin reticula/rayas. */
#especialidadPanel{--esp-fondo-sin-rayas:1}

/* V15b · Acceso de Especialidad: precio compacto y sin plazo fijo en la tarjeta. */
.tema-especialidad .tema-ruta-meta{gap:2px!important}
.tema-especialidad #especialidadPrecioChip{margin-left:0!important;white-space:nowrap}
.tema-especialidad #especialidadPrecioChip[hidden]{display:none!important}

/* V48.35 - estabilizacion real en Especialidad para celular.
   Ninguna barra, etiqueta o boton depende ya de max-content o min-width fijo. */
#especialidadPanel,#especialidadPanel *{box-sizing:border-box}
#especialidadPanel :where(.esp-shell,.esp-grid,.esp-card,.esp-card-copy,.esp-card-copy b,.esp-card-copy small,.esp-card-copy em,.esp-section-head,.esp-section-head div,.esp-section-head h3,.esp-section-head small,.esp-section-head>span,.esp-question,.esp-question-head,.esp-question h3,.esp-options,.esp-option,.esp-option span,.esp-option div,.esp-feedback,.esp-source,.esp-sheet-top,.esp-sheet-top div,.esp-sheet-top h2,.esp-sheet-top p,.esp-sheet-list,.esp-sheet-choice,.esp-sheet-choice>span:nth-child(2),.esp-sheet-choice b,.esp-sheet-choice small,.esp-sheet-choice em,.esp-sheet-selection,.esp-sheet-selection div,.esp-purchase-title,.esp-purchase-title div,.esp-purchase-title h3,.esp-purchase-title p,.esp-access-toolbar,.esp-access-toolbar>div,.esp-renew-button,.esp-study-all){
  min-width:0;
  max-width:100%;
}
#especialidadPanel :where(.esp-brand b,.esp-brand small,.esp-preview-chip,.esp-card-copy b,.esp-card-copy small,.esp-card-copy em,.esp-section-head h3,.esp-section-head small,.esp-section-head>span,.esp-breadcrumb span,.esp-empty b,.esp-empty small,.esp-question-head span,.esp-question-head small,.esp-question h3,.esp-option,.esp-feedback,.esp-source,.esp-sheet-top small,.esp-sheet-top h2,.esp-sheet-top p,.esp-sheet-choice b,.esp-sheet-choice small,.esp-sheet-choice em,.esp-sheet-note,.esp-sheet-selection b,.esp-sheet-selection small,.esp-purchase-title small,.esp-purchase-title h3,.esp-purchase-title p,.esp-purchase-row,.esp-payment-lock b,.esp-payment-lock small,.esp-pay-button span,.esp-pay-button b,.esp-access-toolbar small,.esp-access-toolbar b,.esp-access-toolbar span,.esp-renew-button span,.esp-renew-button b,.esp-study-all b,.esp-study-all small){
  overflow-wrap:anywhere;
  word-break:normal;
}
#especialidadPanel .esp-progress{
  height:8px;
  min-height:8px;
  overflow:visible;
  padding:0;
  border-radius:999px;
}
#especialidadPanel .esp-progress i{
  min-width:3px;
  max-width:100%;
}
#especialidadPanel .esp-access-toolbar b,
#especialidadPanel .esp-brand small{
  white-space:normal!important;
  overflow:visible!important;
  text-overflow:clip!important;
}
@media(max-width:520px){
  #especialidadPanel{padding-left:10px;padding-right:10px}
  #especialidadPanel .esp-grid{grid-template-columns:1fr!important}
  #especialidadPanel .esp-section-head{align-items:flex-start;flex-direction:column}
  #especialidadPanel .esp-section-head>span{text-align:left}
  #especialidadPanel .esp-sheet-list.compact{grid-template-columns:1fr!important}
  #especialidadPanel .esp-sheet-choice{grid-template-columns:46px minmax(0,1fr) 18px!important}
  #especialidadPanel .esp-sheet-choice i{justify-self:end}
  #especialidadPanel .esp-payline span{white-space:normal}
  #especialidadPanel .esp-purchase-title{align-items:flex-start}
  #especialidadPanel .esp-rank-badge{overflow:hidden!important}
  #especialidadPanel .esp-rank-label{
    overflow:hidden!important;
    text-overflow:clip!important;
    white-space:nowrap!important;
  }
}
@media(max-width:380px){
  #especialidadPanel .esp-card{padding:12px;gap:9px}
  #especialidadPanel .esp-card-icon{width:44px;height:44px;flex-basis:44px}
}

/* V48.54 UI Especialidad: temas y tomos alineados con las materias generales.
   El acento hereda SIEMPRE el color elegido por el usuario. */
#especialidadPanel{
  --esp-section-a:var(--primario);
  --esp-section-b:var(--primario2);
  --esp-section-soft:color-mix(in srgb,var(--esp-section-a) 9%,var(--card));
  --esp-section-line:color-mix(in srgb,var(--esp-section-a) 25%,var(--borde));
}

/* Temas: misma arquitectura visual de los subtemas de Conocimientos/Doctrina/etc. */
#especialidadPanel .esp-grid.one{display:grid;grid-template-columns:1fr;gap:11px}
#especialidadPanel .esp-tema-subtema{
  position:relative;
  display:flex;
  width:100%;
  min-height:112px;
  align-items:center;
  gap:12px;
  margin:0;
  padding:14px 13px 13px 14px;
  overflow:hidden;
  border:1px solid var(--esp-section-line);
  border-radius:20px;
  background:
    radial-gradient(circle at 100% 0%,color-mix(in srgb,var(--esp-section-a) 10%,transparent),transparent 29%),
    linear-gradient(145deg,var(--vidrio-fuerte),var(--vidrio));
  color:var(--text);
  text-align:left;
  cursor:pointer;
  box-shadow:0 12px 25px color-mix(in srgb,var(--esp-section-a) 9%,rgba(3,39,59,.11));
  transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease;
}
#especialidadPanel .esp-tema-subtema::before{
  content:"";
  position:absolute;
  left:0;top:10px;bottom:10px;
  width:4px;
  border-radius:0 5px 5px 0;
  background:linear-gradient(180deg,var(--esp-section-a),var(--esp-section-b));
  box-shadow:5px 0 20px color-mix(in srgb,var(--esp-section-a) 18%,transparent);
}
html.academia-hover-capable #especialidadPanel .esp-tema-subtema:not(.disabled):hover{
  transform:translateY(-2px);
  border-color:color-mix(in srgb,var(--esp-section-a) 44%,var(--borde));
  box-shadow:0 15px 28px color-mix(in srgb,var(--esp-section-a) 13%,rgba(3,39,59,.12));
}
#especialidadPanel .esp-tema-subtema.disabled{cursor:default;opacity:.58}
#especialidadPanel .esp-tema-contenido{display:block;min-width:0;flex:1}
#especialidadPanel .esp-tema-titulo{display:block;font-size:12.5px;line-height:1.32;font-weight:900;letter-spacing:-.05px}
#especialidadPanel .esp-tema-meta{display:flex;flex-wrap:wrap;gap:5px;margin-top:8px}
#especialidadPanel .esp-tema-chip{
  padding:4px 7px;
  border:1px solid color-mix(in srgb,var(--esp-section-a) 18%,var(--borde));
  border-radius:999px;
  background:color-mix(in srgb,var(--card) 78%,var(--grisClaro));
  color:var(--muted);
  font-size:7.5px;
  font-weight:900;
  letter-spacing:.25px;
}
#especialidadPanel .esp-tema-chip.formato{
  background:color-mix(in srgb,var(--esp-section-a) 9%,var(--card));
  color:color-mix(in srgb,var(--esp-section-a) 82%,var(--text));
}
#especialidadPanel .esp-tema-chip.estado{background:color-mix(in srgb,var(--card) 84%,var(--grisClaro));color:var(--muted)}
#especialidadPanel .esp-tema-chip.estado.proceso{background:color-mix(in srgb,var(--esp-section-a) 10%,var(--card));color:color-mix(in srgb,var(--esp-section-a) 84%,var(--text))}
#especialidadPanel .esp-tema-chip.estado.dominado{background:color-mix(in srgb,var(--esp-section-a) 16%,var(--card));color:color-mix(in srgb,var(--esp-section-a) 88%,var(--text))}
#especialidadPanel .esp-tema-progreso-linea{display:flex;justify-content:space-between;gap:8px;margin-top:9px;color:var(--muted)}
#especialidadPanel .esp-tema-progreso-linea small{font-size:8px;font-weight:850}
#especialidadPanel .esp-tema-progress{display:block;height:5px;margin-top:5px;overflow:hidden;border-radius:999px;background:color-mix(in srgb,var(--esp-section-a) 9%,var(--grisClaro))}
#especialidadPanel .esp-tema-progress i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--esp-section-b),var(--esp-section-a))}
#especialidadPanel .esp-tema-flecha{
  display:flex;
  width:32px;height:32px;flex:0 0 32px;
  align-items:center;justify-content:center;
  border:1px solid color-mix(in srgb,var(--esp-section-a) 24%,var(--borde));
  border-radius:11px;
  background:color-mix(in srgb,var(--esp-section-a) 8%,var(--card));
  color:var(--esp-section-a);
  font-size:21px;
  font-weight:900;
}

/* Tomos: mismo lenguaje de Biblioteca de Tomos, con romano de fondo y sello AN. */
#especialidadPanel .esp-tomos-lista{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
  margin-top:13px;
}
#especialidadPanel .esp-tomo-libro-card{
  position:relative;
  display:block;
  width:100%;
  min-height:202px;
  overflow:hidden;
  padding:0;
  border:1px solid color-mix(in srgb,var(--esp-section-a) 24%,var(--borde));
  border-radius:20px;
  background:
    radial-gradient(circle at 96% 5%,color-mix(in srgb,var(--esp-section-a) 16%,transparent),transparent 27%),
    linear-gradient(145deg,var(--vidrio-fuerte),var(--vidrio));
  color:var(--text);
  text-align:left;
  cursor:pointer;
  box-shadow:0 14px 31px color-mix(in srgb,var(--esp-section-a) 10%,rgba(3,39,59,.12));
  transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease;
}
#especialidadPanel .esp-tomo-libro-card::before{
  content:"";
  position:absolute;
  left:0;top:11px;bottom:11px;
  width:5px;
  border-radius:0 6px 6px 0;
  background:linear-gradient(180deg,var(--esp-section-a),var(--esp-section-b));
  box-shadow:6px 0 22px color-mix(in srgb,var(--esp-section-a) 17%,transparent);
}
#especialidadPanel .esp-tomo-libro-card::after{
  content:attr(data-romano);
  position:absolute;
  right:12px;top:-16px;
  font-family:Georgia,serif;
  font-size:94px;
  font-weight:900;
  line-height:1;
  color:var(--esp-section-a);
  opacity:.05;
  pointer-events:none;
}
html.academia-hover-capable #especialidadPanel .esp-tomo-libro-card:hover{
  transform:translateY(-3px);
  border-color:color-mix(in srgb,var(--esp-section-a) 50%,var(--borde));
  box-shadow:0 19px 36px color-mix(in srgb,var(--esp-section-a) 15%,rgba(3,39,59,.13));
}
#especialidadPanel .esp-tomo-libro-cabecera{
  position:relative;z-index:2;
  display:flex;
  align-items:flex-start;
  gap:12px;
  padding:16px 15px 8px 18px;
}
#especialidadPanel .esp-tomo-portada{
  position:relative;
  display:flex;
  width:58px;height:76px;flex:0 0 58px;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  border:1px solid color-mix(in srgb,var(--esp-section-a) 34%,var(--borde));
  border-radius:10px 15px 15px 10px;
  background:
    linear-gradient(90deg,rgba(255,255,255,.12),transparent 18%),
    linear-gradient(145deg,var(--esp-section-a),var(--esp-section-b));
  color:#fff;
  box-shadow:inset 5px 0 rgba(0,0,0,.10),0 9px 20px color-mix(in srgb,var(--esp-section-a) 20%,transparent);
}
#especialidadPanel .esp-tomo-portada::before{
  content:"AN";
  position:absolute;
  top:9px;left:50%;
  display:flex;
  width:27px;height:27px;
  align-items:center;justify-content:center;
  transform:translateX(-50%);
  border:1px solid rgba(255,255,255,.42);
  border-radius:50%;
  color:#fff;
  font-size:8px;
  font-weight:950;
  letter-spacing:.6px;
}
#especialidadPanel .esp-tomo-portada>span{
  margin-top:31px;
  color:rgba(255,255,255,.76);
  font-size:6px;
  font-weight:950;
  letter-spacing:1.1px;
}
#especialidadPanel .esp-tomo-portada>b{color:#fff;font-family:Georgia,serif;font-size:20px;line-height:1.05}
#especialidadPanel .esp-tomo-libro-info{min-width:0;flex:1}
#especialidadPanel .esp-tomo-libro-info>b{display:block;margin:2px 0 4px;color:var(--text);font-size:14px}
#especialidadPanel .esp-tomo-libro-info>small{display:block;color:var(--muted);font-size:9px;line-height:1.4}
#especialidadPanel .esp-tomo-etiquetas{display:flex;flex-wrap:wrap;gap:5px;margin-top:7px}
#especialidadPanel .esp-tomo-etiquetas em{
  padding:4px 7px;
  border:1px solid color-mix(in srgb,var(--esp-section-a) 18%,var(--borde));
  border-radius:999px;
  background:color-mix(in srgb,var(--card) 78%,var(--grisClaro));
  color:var(--muted);
  font-size:7px;
  font-style:normal;
  font-weight:900;
  letter-spacing:.25px;
}
#especialidadPanel .esp-tomo-libro-cuerpo{
  position:relative;z-index:2;
  display:block;
  padding:8px 15px 14px 18px;
  border-top:1px solid color-mix(in srgb,var(--esp-section-a) 15%,var(--borde));
}
#especialidadPanel .esp-tomo-progreso-cabecera{display:flex;justify-content:space-between;gap:8px;margin-bottom:5px;color:var(--muted)}
#especialidadPanel .esp-tomo-progreso-cabecera small{font-size:8px;font-weight:850}
#especialidadPanel .esp-tomo-progress{display:block;height:5px;overflow:hidden;border-radius:999px;background:color-mix(in srgb,var(--esp-section-a) 9%,var(--grisClaro))}
#especialidadPanel .esp-tomo-progress i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--esp-section-b),var(--esp-section-a))}
#especialidadPanel .esp-tomo-libro-pie{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:10px}
#especialidadPanel .esp-tomo-academia{display:flex;min-width:0;align-items:center;gap:7px;color:var(--muted)}
#especialidadPanel .esp-tomo-academia>b{
  display:flex;width:25px;height:25px;flex:0 0 25px;align-items:center;justify-content:center;
  border:1px solid color-mix(in srgb,var(--esp-section-a) 28%,var(--borde));border-radius:50%;
  color:var(--esp-section-a);font-size:7px;font-weight:950;letter-spacing:.4px;
}
#especialidadPanel .esp-tomo-academia>small{overflow:hidden;font-size:7px;font-weight:900;letter-spacing:.45px;text-overflow:ellipsis;white-space:nowrap}
#especialidadPanel .esp-tomo-acciones{display:grid;grid-template-columns:auto 38px;gap:7px;flex:0 0 auto}
#especialidadPanel .esp-tomo-acciones>b{
  display:flex;min-height:36px;align-items:center;justify-content:center;padding:0 12px;border-radius:12px;
  background:linear-gradient(135deg,var(--esp-section-a),var(--esp-section-b));color:#fff;font-size:9px;font-weight:950;
  box-shadow:0 8px 18px color-mix(in srgb,var(--esp-section-a) 20%,transparent);
}
#especialidadPanel .esp-tomo-acciones>i{
  display:flex;width:38px;min-height:36px;align-items:center;justify-content:center;
  border:1px solid color-mix(in srgb,var(--esp-section-a) 24%,var(--borde));border-radius:12px;
  background:color-mix(in srgb,var(--esp-section-a) 8%,var(--card));color:var(--esp-section-a);
  font-size:20px;font-style:normal;font-weight:900;
}

/* Recorrido completo: mismo texto/jerarquia del panel general, sin conteos extra. */
#especialidadPanel .esp-recorrido-completo{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  margin-top:16px;
  padding:15px;
  border:1px solid color-mix(in srgb,var(--esp-section-a) 25%,var(--borde));
  border-radius:18px;
  background:linear-gradient(145deg,var(--vidrio-fuerte),var(--vidrio));
  box-shadow:0 12px 25px color-mix(in srgb,var(--esp-section-a) 9%,rgba(3,39,59,.11));
}
#especialidadPanel .esp-recorrido-copy{min-width:0;flex:1}
#especialidadPanel .esp-recorrido-copy>b,#especialidadPanel .esp-recorrido-copy>small{display:block}
#especialidadPanel .esp-recorrido-copy>b{color:var(--text);font-size:13px}
#especialidadPanel .esp-recorrido-copy>small{margin-top:3px;color:var(--muted);font-size:9px;line-height:1.4}
#especialidadPanel .esp-recorrido-accion{display:flex;flex:0 0 auto;align-items:center}
#especialidadPanel .esp-recorrido-accion>button{
  min-height:38px;padding:0 13px;border:0;border-radius:12px;
  background:linear-gradient(135deg,var(--esp-section-a),var(--esp-section-b));
  color:#fff;font:inherit;font-size:9px;font-weight:950;cursor:pointer;
  box-shadow:0 8px 18px color-mix(in srgb,var(--esp-section-a) 20%,transparent);
}

@media(max-width:680px){
  #especialidadPanel .esp-tomos-lista{grid-template-columns:1fr}
  #especialidadPanel .esp-recorrido-completo{align-items:stretch;flex-direction:column}
  #especialidadPanel .esp-recorrido-accion{align-items:stretch}
  #especialidadPanel .esp-recorrido-accion>button{width:100%}
}
@media(max-width:430px){
  #especialidadPanel .esp-tema-subtema{min-height:106px;padding:12px 11px 11px 13px}
  #especialidadPanel .esp-tomo-libro-cabecera{padding:14px 12px 8px 15px;gap:10px}
  #especialidadPanel .esp-tomo-portada{width:54px;height:72px;flex-basis:54px}
  #especialidadPanel .esp-tomo-libro-cuerpo{padding:8px 12px 12px 15px}
  #especialidadPanel .esp-tomo-libro-pie{align-items:stretch;flex-direction:column}
  #especialidadPanel .esp-tomo-acciones{grid-template-columns:1fr 38px;width:100%}
}

#especialidadPanel .esp-hero::after{display:none!important;content:""!important}

/* V48 - Ajuste quirurgico desde V45: solo rama, especialidad y Seleccion para abrir
   pierden pictogramas decorativos. Escala, Nucleo y grados conservan su iconografia. */
#especialidadPanel .esp-sheet-choice.esp-choice-text-only{
  grid-template-columns:minmax(0,1fr) 18px!important;
  gap:12px!important;
  padding-left:16px!important;
  padding-right:14px!important;
}
#especialidadPanel .esp-sheet-choice.esp-choice-text-only .esp-sheet-choice-copy{min-width:0}
#especialidadPanel .esp-sheet-list.compact .esp-sheet-choice.esp-choice-text-only,
#especialidadPanel .esp-specialty-list .esp-sheet-choice.esp-choice-text-only{
  grid-template-columns:minmax(0,1fr) 18px!important;
  min-height:68px!important;
}
#especialidadPanel .esp-sheet-selection.esp-selection-text-only{
  display:block!important;
  padding:12px 14px!important;
}
#especialidadPanel .esp-purchase-title.esp-purchase-title-text-only{
  display:block!important;
  padding-bottom:12px;
}
#especialidadPanel .esp-purchase-title.esp-purchase-title-text-only>div{
  width:100%;
  min-width:0;
}
@media(max-width:520px){
  #especialidadPanel .esp-sheet-list.compact .esp-sheet-choice.esp-choice-text-only,
  #especialidadPanel .esp-specialty-list .esp-sheet-choice.esp-choice-text-only{
    grid-template-columns:minmax(0,1fr) 16px!important;
    gap:10px!important;
    padding:11px 14px!important;
  }
}

/* V49 · Navegacion instantanea en Especialidad.
   Evita zoom/encogimiento perceptible al abrir o cambiar pasos. */
#especialidadPanel,
#especialidadPanel #especialidadContenido,
#especialidadPanel.esp-sheet-mode #especialidadContenido,
#especialidadPanel.esp-full-mode #especialidadContenido{
  transition:none!important;
  animation:none!important;
}
#especialidadPanel .esp-card,
#especialidadPanel .esp-sheet-choice{
  transition:border-color .08s linear,box-shadow .08s linear,background-color .08s linear!important;
}
#especialidadPanel .esp-card:active,
#especialidadPanel .esp-sheet-choice:active{
  transform:none!important;
}
