/**
 * brandv2.css define `#outer-container { background: url('i/bg-body.gif') }` →
 * `/PaginaLogin_files/i/bg-body.gif`, que suele faltar en `public/`.
 * Esta hoja va *después* de brandv2.css.
 * Para el GIF original: `public/PaginaLogin_files/i/bg-body.gif`.
 */

/*
 * Sustituto del `bg-body.gif` de brandv2 solo en shells sin clase de portal (`paf-login-shell`, `paf-panel-shell`).
 * El fondo blanco del login está en `login/login-critical.css`; el del panel en `panel/panel-critical.css`.
 */
#outer-container:not(.paf-login-shell):not(.paf-panel-shell) {
  background-color: #ffffff !important;
  background-image: linear-gradient(
    90deg,
    #e6007e 0%,
    #d0106e 18%,
    #5a2878 42%,
    #1a4488 68%,
    #003d82 100%
  ) !important;
  background-repeat: no-repeat !important;
  background-position: left top !important;
  background-size: 100% 26px !important;
}

/*
 * brandv2: #logoCintillo { width: 100%; } + #header #logo { min-width: 100%; }.
 * Si la imagen no carga, evita el bloque blanco a ancho completo.
 * Cabecera / cintillo / publicidad: mismos ajustes en `paf-login-shell` (login) y `paf-panel-shell` (panel).
 */
#outer-container.paf-login-shell #header #logo,
#outer-container.paf-panel-shell #header #logo {
  min-width: 100% !important;
  max-width: none !important;
  width: 100% !important;
  display: block;
  box-sizing: border-box;
}

/*
 * Cintillo: en productiva suele ocupar el ancho del `#inner-container` (~965px).
 * El tope 520px dejaba la franja “cortada”; con imagen real conviene 100% + alto proporcional.
 */
#outer-container.paf-login-shell #logoCintillo,
#outer-container.paf-panel-shell #logoCintillo {
  float: none;
  width: 100% !important;
  max-width: none !important;
  height: 92px !important;
  object-fit: cover;
  object-position: center top;
  display: block;
  box-sizing: border-box;
}

/* Evita float del cintillo encimando publicidad; sin margen extra bajo el cintillo. */
#outer-container.paf-login-shell #header,
#outer-container.paf-panel-shell #header {
  overflow: hidden;
  margin-bottom: 0;
}

/*
 * Cabecera unificada: cintillo de fondo + logo/título sin fondo superpuestos (login, panel y shell público).
 */
#outer-container.paf-login-shell .paf-header-banner,
#outer-container.paf-panel-shell .paf-header-banner,
#outer-container.paf-public-shell .paf-header-banner {
  --paf-header-banner-height: clamp(72px, 13vh + 24px, 152px);
  --paf-banner-logo-height: clamp(32px, 6vh + 14px, 56px);
  --paf-portal-title-size: clamp(0.9rem, 0.55rem + 0.75vw, 1.45rem);
  display: grid;
  grid-template-areas: "stack";
  position: relative;
  width: 100%;
  height: var(--paf-header-banner-height);
  min-height: var(--paf-header-banner-height);
  max-height: var(--paf-header-banner-height);
  overflow: hidden;
  box-sizing: border-box;
}

@media (min-width: 1200px) {
  #outer-container.paf-login-shell .paf-header-banner,
  #outer-container.paf-panel-shell .paf-header-banner,
  #outer-container.paf-public-shell .paf-header-banner {
    --paf-portal-title-size: clamp(1.05rem, 0.5rem + 1.15vw, 1.75rem);
  }
}

@media (min-width: 1600px) {
  #outer-container.paf-login-shell .paf-header-banner,
  #outer-container.paf-panel-shell .paf-header-banner,
  #outer-container.paf-public-shell .paf-header-banner {
    --paf-portal-title-size: clamp(1.15rem, 0.45rem + 1.25vw, 1.9rem);
  }
}

#outer-container.paf-login-shell .paf-header-banner > #header,
#outer-container.paf-panel-shell .paf-header-banner > #header,
#outer-container.paf-public-shell .paf-header-banner > #header {
  grid-area: stack;
  z-index: 0;
  margin: 0;
  height: 100%;
  min-height: 0;
  max-height: 100%;
  overflow: hidden;
}

#outer-container.paf-login-shell .paf-header-banner > #publicity,
#outer-container.paf-panel-shell .paf-header-banner > #publicity,
#outer-container.paf-public-shell .paf-header-banner > #publicity {
  grid-area: stack;
  z-index: 1;
  align-self: stretch;
  display: block;
  width: 100% !important;
  max-width: 100% !important;
  height: 100% !important;
  max-height: 100% !important;
  margin: 0 !important;
  min-height: 0 !important;
  padding: 0 clamp(20px, 3vw, 48px);
  background: transparent !important;
  box-sizing: border-box;
  overflow: hidden;
}

#outer-container.paf-login-shell .paf-header-banner #logoCintillo,
#outer-container.paf-panel-shell .paf-header-banner #logoCintillo,
#outer-container.paf-public-shell .paf-header-banner #logoCintillo {
  height: var(--paf-header-banner-height) !important;
  object-fit: cover;
  object-position: center top;
}

#outer-container.paf-login-shell .paf-header-banner .paf-shell-cintillo-wrap,
#outer-container.paf-panel-shell .paf-header-banner .paf-shell-cintillo-wrap,
#outer-container.paf-public-shell .paf-header-banner .paf-shell-cintillo-wrap {
  display: block;
  width: 100%;
  height: var(--paf-header-banner-height) !important;
  min-height: var(--paf-header-banner-height) !important;
  overflow: hidden;
}

#outer-container.paf-login-shell .paf-header-banner .paf-header-brand-row,
#outer-container.paf-panel-shell .paf-header-banner .paf-header-brand-row,
#outer-container.paf-public-shell .paf-header-banner .paf-header-brand-row {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr) !important;
  align-items: center !important;
  justify-content: unset !important;
  flex-wrap: nowrap !important;
  column-gap: clamp(8px, 1.5vw, 24px);
  width: 100%;
  height: 100%;
  min-height: 0;
  max-height: 100%;
  margin: 0;
  padding: 0;
  box-sizing: border-box;
  overflow: visible;
}

#outer-container.paf-login-shell .paf-header-banner #publicity #logout:empty,
#outer-container.paf-panel-shell .paf-header-banner #publicity #logout:empty,
#outer-container.paf-public-shell .paf-header-banner #publicity #logout:empty {
  display: none;
}

/* Sesión autenticada: tarjeta de perfil integrada en la cabecera del panel. */
#outer-container.paf-panel-shell #paf-panel-chrome {
  position: relative;
}

#outer-container.paf-panel-shell .paf-header-banner {
  --paf-header-banner-height: clamp(52px, 7vh + 14px, 76px);
  --paf-banner-logo-height: clamp(28px, 4.5vh + 10px, 44px);
  --paf-portal-title-size: clamp(0.85rem, 0.42rem + 0.62vw, 1.22rem);
}

#outer-container.paf-panel-shell #paf-session-bar.paf-session-bar {
  position: absolute;
  top: clamp(6px, 1.2vh, 10px);
  right: clamp(10px, 2vw, 28px);
  left: auto;
  z-index: 6;
  width: fit-content;
  max-width: min(440px, 46vw);
  margin: 0;
  padding: 0;
  box-sizing: border-box;
  background: transparent;
  border: none;
}

#outer-container.paf-panel-shell #paf-session-bar.paf-user-profile-card #logout.paf-logout-stack {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 4px;
  width: fit-content;
  max-width: min(440px, 46vw);
  margin: 0;
  padding: 8px 12px 10px;
  background: #ffffff;
  border: 1px solid rgba(255, 255, 255, 0.65);
  border-radius: 10px;
  box-shadow: 0 4px 14px rgba(15, 23, 42, 0.14);
  text-align: left;
  color: #334155;
}

#outer-container.paf-panel-shell #paf-session-bar .paf-user-profile-card__logout {
  list-style: none;
  margin: 0;
  padding: 0;
  align-self: flex-end;
}

#outer-container.paf-panel-shell #paf-session-bar .paf-user-profile-card__body {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  width: fit-content;
  max-width: 100%;
  min-width: 0;
}

#outer-container.paf-panel-shell #paf-session-bar .paf-user-profile-card__avatar {
  flex: 0 0 34px;
  width: 34px;
  height: 34px;
  border-radius: 50%;
  background: linear-gradient(180deg, #e8f0fe 0%, #dbeafe 100%);
  color: #003399;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 16px;
  line-height: 1;
  margin: 0;
}

#outer-container.paf-panel-shell #paf-session-bar .paf-user-profile-card__meta {
  flex: 0 1 auto;
  width: fit-content;
  max-width: 100%;
  min-width: 0;
}

#outer-container.paf-panel-shell #paf-session-bar #logout.paf-logout-stack a,
#outer-container.paf-panel-shell #paf-session-bar #logout.paf-logout-stack form button.logout,
#outer-container.paf-panel-shell #paf-session-bar #logout.paf-logout-stack button.logout,
#outer-container.paf-panel-shell #paf-session-bar #logout.paf-logout-stack #welcome,
#outer-container.paf-panel-shell #paf-session-bar #logout.paf-logout-stack #time {
  color: #4a5568 !important;
  text-shadow: none !important;
}

#outer-container.paf-panel-shell #paf-session-bar #logout.paf-logout-stack form button.logout,
#outer-container.paf-panel-shell #paf-session-bar #logout.paf-logout-stack button.logout {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  border: none;
  background: none;
  padding: 0;
  margin: 0;
  appearance: none;
  -webkit-appearance: none;
  font: inherit;
  font-size: 11px;
  font-family: Verdana, Arial, Helvetica, sans-serif;
  cursor: pointer;
  text-decoration: none;
  line-height: 1.2;
}

#outer-container.paf-panel-shell #paf-session-bar #logout.paf-logout-stack .paf-logout-button__icon {
  flex: 0 0 auto;
  display: block;
  color: inherit;
}

#outer-container.paf-panel-shell #paf-session-bar #logout.paf-logout-stack .paf-logout-button__label {
  text-decoration: underline;
}

#outer-container.paf-panel-shell #paf-session-bar #logout.paf-logout-stack a:hover,
#outer-container.paf-panel-shell #paf-session-bar #logout.paf-logout-stack form button.logout:hover,
#outer-container.paf-panel-shell #paf-session-bar #logout.paf-logout-stack button.logout:hover {
  color: #003399 !important;
}

#outer-container.paf-panel-shell #paf-session-bar #logout.paf-logout-stack #welcome {
  float: none !important;
  clear: none;
  margin: 0 0 2px;
  width: fit-content;
  max-width: 100%;
  font-size: 12px;
  line-height: 1.35;
  text-align: left;
  white-space: nowrap;
}

#outer-container.paf-panel-shell #paf-session-bar #logout.paf-logout-stack #welcome .paf-welcome-text,
#outer-container.paf-panel-shell #paf-session-bar #logout.paf-logout-stack #welcome #paf-panel-welcome-text,
#outer-container.paf-panel-shell #paf-session-bar #logout.paf-logout-stack #welcome .paf-welcome-lead,
#outer-container.paf-panel-shell #paf-session-bar #logout.paf-logout-stack #welcome #name {
  font-weight: 700;
  color: #003399 !important;
  float: none !important;
  display: inline;
  width: auto;
  max-width: none;
}

#outer-container.paf-panel-shell #paf-session-bar #logout.paf-logout-stack #time {
  float: none !important;
  width: auto !important;
  max-width: 100%;
  clear: none;
  margin: 0;
  font-size: 10px;
  line-height: 1.35;
  color: #64748b !important;
  text-transform: capitalize;
}

#outer-container.paf-panel-shell #paf-panel-chrome > hr:first-of-type {
  display: none;
}

#outer-container.paf-panel-shell #navigation {
  margin-top: 0 !important;
}

#outer-container.paf-login-shell .paf-header-banner .paf-header-brand-logo,
#outer-container.paf-panel-shell .paf-header-banner .paf-header-brand-logo,
#outer-container.paf-public-shell .paf-header-banner .paf-header-brand-logo {
  display: block;
  grid-column: 1;
  grid-row: 1;
  justify-self: start;
  align-self: center;
  flex: 0 0 auto;
  line-height: 0;
  background: transparent !important;
  border: none;
  box-shadow: none;
}

#outer-container.paf-login-shell .paf-header-banner .paf-header-logo--banner,
#outer-container.paf-panel-shell .paf-header-banner .paf-header-logo--banner,
#outer-container.paf-public-shell .paf-header-banner .paf-header-logo--banner {
  display: block;
  width: auto !important;
  height: var(--paf-banner-logo-height) !important;
  max-width: min(240px, 28vw) !important;
  max-height: var(--paf-banner-logo-height) !important;
  object-fit: contain;
  filter: drop-shadow(0 2px 4px rgba(0, 0, 0, 0.35)) drop-shadow(0 6px 18px rgba(0, 0, 0, 0.28));
}

#outer-container.paf-login-shell .paf-header-banner .paf-portal-title,
#outer-container.paf-panel-shell .paf-header-banner .paf-portal-title,
#outer-container.paf-public-shell .paf-header-banner .paf-portal-title {
  grid-column: 2;
  justify-self: center;
  margin: 0 !important;
  padding: 0 clamp(4px, 0.8vw, 12px);
  text-align: center;
  font-family: Verdana, Arial, Helvetica, sans-serif;
  font-style: italic;
  font-size: var(--paf-portal-title-size);
  font-weight: 500;
  line-height: 1.15;
  letter-spacing: 0.01em;
  color: #ffffff;
  text-shadow:
    0 1px 3px rgba(0, 0, 0, 0.45),
    0 4px 14px rgba(0, 0, 0, 0.25);
  background: transparent !important;
  align-self: center;
  white-space: nowrap;
  overflow: visible;
  display: block;
}

#outer-container.paf-panel-shell .paf-header-banner #publicity #logout.paf-logout-stack,
#outer-container.paf-public-shell .paf-header-banner #publicity #logout.paf-logout-stack {
  display: none !important;
}

@media (max-width: 1024px) {
  #outer-container.paf-login-shell .paf-header-banner,
  #outer-container.paf-public-shell .paf-header-banner {
    --paf-header-banner-height: clamp(60px, 10vh + 24px, 112px);
    --paf-banner-logo-height: clamp(24px, 4.5vh + 10px, 44px);
    --paf-portal-title-size: clamp(0.78rem, 0.42rem + 0.68vw, 1.15rem);
  }

  #outer-container.paf-panel-shell .paf-header-banner {
    --paf-header-banner-height: clamp(48px, 6.5vh + 12px, 68px);
    --paf-banner-logo-height: clamp(26px, 4vh + 8px, 38px);
    --paf-portal-title-size: clamp(0.82rem, 0.44rem + 0.6vw, 1.18rem);
  }
}

@media (max-width: 768px) {
  #outer-container.paf-login-shell .paf-header-banner,
  #outer-container.paf-panel-shell .paf-header-banner,
  #outer-container.paf-public-shell .paf-header-banner {
    --paf-header-banner-height: clamp(56px, 9vh + 20px, 96px);
    --paf-banner-logo-height: clamp(22px, 4vh + 8px, 38px);
    --paf-portal-title-size: clamp(0.75rem, 0.38rem + 0.58vw, 1.05rem);
  }

  #outer-container.paf-login-shell .paf-header-banner > #publicity,
  #outer-container.paf-panel-shell .paf-header-banner > #publicity,
  #outer-container.paf-public-shell .paf-header-banner > #publicity {
    padding-inline: 10px;
  }
}

/* Viewports bajos (p. ej. 1096×526): cabecera del panel compacta, no ampliada */
@media (max-height: 640px) {
  #outer-container.paf-login-shell .paf-header-banner,
  #outer-container.paf-public-shell .paf-header-banner {
    --paf-header-banner-height: clamp(68px, 12vh + 20px, 100px);
    --paf-banner-logo-height: clamp(30px, 5.5vh + 10px, 44px);
    --paf-portal-title-size: clamp(0.82rem, 0.48rem + 0.6vw, 1.05rem);
  }

  #outer-container.paf-panel-shell .paf-header-banner {
    --paf-header-banner-height: clamp(46px, 7vh + 10px, 60px);
    --paf-banner-logo-height: clamp(24px, 4vh + 8px, 34px);
    --paf-portal-title-size: clamp(0.78rem, 0.4rem + 0.5vw, 0.98rem);
  }

  #outer-container.paf-login-shell .paf-header-banner > #publicity,
  #outer-container.paf-public-shell .paf-header-banner > #publicity {
    padding-inline: 12px;
  }
}

/* Solo en alturas extremas (< 480px) se reduce un poco más la cabecera */
@media (max-height: 480px) {
  #outer-container.paf-login-shell .paf-header-banner,
  #outer-container.paf-panel-shell .paf-header-banner,
  #outer-container.paf-public-shell .paf-header-banner {
    --paf-header-banner-height: clamp(56px, 11vh + 12px, 72px);
    --paf-banner-logo-height: clamp(26px, 5vh + 8px, 36px);
    --paf-portal-title-size: clamp(0.75rem, 0.4rem + 0.5vw, 0.95rem);
  }
}

@media (max-width: 720px) {
  #outer-container.paf-login-shell .paf-header-banner > #publicity,
  #outer-container.paf-panel-shell .paf-header-banner > #publicity,
  #outer-container.paf-public-shell .paf-header-banner > #publicity {
    padding-inline: 10px;
  }
}

@media (max-width: 420px) {
  #outer-container.paf-login-shell .paf-header-banner,
  #outer-container.paf-panel-shell .paf-header-banner,
  #outer-container.paf-public-shell .paf-header-banner {
    --paf-header-banner-height: clamp(52px, 11vh + 16px, 88px);
    --paf-banner-logo-height: clamp(20px, 5vh + 6px, 34px);
    --paf-portal-title-size: clamp(0.72rem, 0.36rem + 0.55vw, 0.98rem);
  }
}

#outer-container.paf-login-shell #publicity {
  clear: both;
  height: auto !important;
  min-height: 0 !important;
  padding-bottom: 2px;
  overflow: visible;
}

#outer-container.paf-panel-shell #publicity {
  clear: both;
  height: auto !important;
  min-height: 0 !important;
  padding-bottom: 2px;
}

/* Huecos reservados a banner dinámico (sin imagen en login). */
#outer-container.paf-login-shell #publicity #divBannerL,
#outer-container.paf-login-shell #publicity #banner2025L {
  display: none !important;
}

/*
 * Fila logo CANTV + titular del portal (homologado con mifactura).
 * El logo usa SVG transparente; el titular es texto (sustituye titulo.png con fondo blanco).
 */
#outer-container.paf-login-shell #publicity > div:first-child,
#outer-container.paf-panel-shell #publicity > div:first-child {
  box-sizing: border-box;
  margin-top: 0;
  padding: 0;
  max-width: 100%;
}

/*
 * Logo CANTV (login): legado 300×92; escala fluida con clamp para que siempre se vea completo.
 * Referencia desktop ~180px (60 %); en pantallas pequeñas baja en proporción.
 */
#outer-container.paf-login-shell {
  --paf-logo-cantv-max: 180px;
  --paf-logo-cantv-min: 88px;
  --paf-logo-cantv-width: clamp(
    var(--paf-logo-cantv-min),
    18vw,
    var(--paf-logo-cantv-max)
  );
}

#outer-container.paf-panel-shell {
  --paf-logo-cantv-width: 180px;
}

#outer-container.paf-login-shell #publicity > div:first-child > a,
#outer-container.paf-panel-shell #publicity > div:first-child > a,
#outer-container.paf-login-shell .paf-header-banner .paf-header-brand-logo,
#outer-container.paf-panel-shell .paf-header-banner .paf-header-brand-logo {
  display: block;
  line-height: 0;
  background: transparent !important;
}

#outer-container.paf-login-shell #publicity > div:first-child:not(.paf-header-brand-row) > a {
  flex: 0 1 var(--paf-logo-cantv-width);
  min-width: 0;
  max-width: min(var(--paf-logo-cantv-width), 52%);
}

#outer-container.paf-login-shell #publicity .logoInicio:not(.paf-header-logo--banner),
#outer-container.paf-panel-shell #publicity .logoInicio:not(.paf-header-logo--banner) {
  display: block;
  flex: 0 0 auto;
  height: auto !important;
  aspect-ratio: 300 / 92;
}

#outer-container.paf-login-shell #publicity .logoInicio:not(.paf-header-logo--banner) {
  width: auto !important;
  max-width: var(--paf-logo-cantv-width) !important;
  max-height: min(calc(var(--paf-logo-cantv-width) * 92 / 300), 12dvh) !important;
  object-fit: contain;
  overflow: visible;
}

#outer-container.paf-login-shell #publicity .logoInicio:not(.paf-header-logo--banner) image {
  width: 100%;
  height: 100%;
}

#outer-container.paf-panel-shell #publicity .logoInicio:not(.paf-header-logo--banner) {
  width: var(--paf-logo-cantv-width) !important;
  max-width: min(var(--paf-logo-cantv-width), 42vw) !important;
}

@media (max-height: 720px) {
  #outer-container.paf-login-shell {
    --paf-logo-cantv-max: 150px;
    --paf-logo-cantv-min: 76px;
    --paf-logo-cantv-width: clamp(
      var(--paf-logo-cantv-min),
      16vw,
      var(--paf-logo-cantv-max)
    );
  }
}

@media (max-width: 640px) {
  #outer-container.paf-login-shell {
    --paf-logo-cantv-max: 150px;
    --paf-logo-cantv-min: 80px;
    --paf-logo-cantv-width: clamp(
      var(--paf-logo-cantv-min),
      30vw,
      var(--paf-logo-cantv-max)
    );
  }

  #outer-container.paf-login-shell #publicity > div:first-child:not(.paf-header-brand-row) {
    flex-wrap: wrap;
    gap: 6px 12px;
  }

  #outer-container.paf-login-shell #publicity #tittle:not(.paf-portal-title) {
    max-width: min(280px, 58vw);
    max-height: clamp(24px, 7vh, 48px);
    object-fit: contain;
  }
}

@media (max-width: 400px) {
  #outer-container.paf-login-shell {
    --paf-logo-cantv-min: 72px;
    --paf-logo-cantv-width: clamp(
      var(--paf-logo-cantv-min),
      36vw,
      120px
    );
  }

  #outer-container.paf-login-shell #publicity #tittle:not(.paf-portal-title) {
    margin-left: 0 !important;
    align-self: flex-start;
    max-width: 100%;
  }
}

#outer-container.paf-login-shell #publicity #tittle:not(.paf-portal-title),
#outer-container.paf-panel-shell #publicity #tittle:not(.paf-portal-title) {
  margin-left: auto !important;
  margin-top: 0;
  margin-bottom: 0;
  align-self: flex-end;
  height: auto;
  max-width: min(360px, 42vw);
  width: auto;
  object-fit: contain;
}

#outer-container.paf-login-shell #publicity #tittle:not(.paf-portal-title) {
  max-height: min(56px, 10dvh);
}

/* Sustituye .login-section { height:284px; padding-top:35px } de brandv2: altura fija dejaba mucho blanco. */
#outer-container.paf-login-shell .login-section {
  height: auto !important;
  min-height: 0 !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

#outer-container.paf-login-shell #inner-container > hr,
#outer-container.paf-panel-shell #paf-panel-chrome > hr,
#outer-container.paf-panel-shell #inner-container > hr {
  margin: 4px 0 10px;
  height: 0;
  border: 0;
}

#outer-container.paf-login-shell #eventzone,
#outer-container.paf-panel-shell #eventzone {
  padding-top: 0;
  padding-bottom: 0;
}

#outer-container.paf-login-shell #eventzone #one-column,
#outer-container.paf-panel-shell #eventzone #one-column {
  padding-top: 0;
}

/* Texto de ayuda del formulario: mismo tono que cuerpo productivo (evita lectura “rosa” si .required hereda). */
#outer-container.paf-login-shell .login-section .form-content .text_help span {
  color: #333333;
}

#outer-container.paf-login-shell .login-section .form-content fieldset.login-fieldset .text_help {
  margin-bottom: 2px;
}

#outer-container.paf-login-shell .login-section .form-content .buttons {
  margin-top: 4px;
}

/* Enlaces inferiores de la tarjeta: un poco de aire respecto a los botones. */
#outer-container.paf-login-shell .section.first-section .section-container .content.login-content {
  padding: 12px 115px 6px;
}

#outer-container.paf-login-shell .section.first-section .section-container .content.login-content p.login-para {
  margin-bottom: 0;
  text-align: center;
}

/* Texto del formulario explícito (evita herencias raras del árbol legacy). */
#outer-container.paf-login-shell .login-section .form-content label,
#outer-container.paf-login-shell .login-section .form-content .label {
  color: #333333 !important;
}

/* Inputs y texto escritos: compactos y legibles dentro de la tarjeta de 433px. */
#outer-container.paf-login-shell .login-section .form-content input.text {
  max-width: 200px;
  width: 100%;
  box-sizing: border-box;
  color: #000000;
}

/* Pie: brandv2 fija min-width 1024px en .footer-version y rompe en ventanas estrechas. */
#outer-container.paf-login-shell div.footer-version,
#outer-container.paf-panel-shell div.footer-version {
  min-width: 0 !important;
  max-width: 100%;
  box-sizing: border-box;
  color: #333333;
  font-size: 12px;
  text-align: center;
  display: block !important;
  visibility: visible !important;
}

#outer-container.paf-login-shell #inner-footer.paf-footer-bar div.footer-version,
#outer-container.paf-panel-shell #inner-footer.paf-footer-bar div.footer-version {
  padding: 0 !important;
}

/*
 * El HTML guardado pone `height:175px; overflow:hidden` en #contenido_caja (enrollment.js lo usa
 * en otros flujos). Ese inline gana sobre brandv2 `height:unset` y recorta el formulario en Next.
 */
#outer-container.paf-login-shell .login-section .section-container #contenido_caja,
#outer-container.paf-login-shell .login-section .section-container .paf-login-contenido-caja {
  overflow: visible !important;
  height: auto !important;
  max-height: none !important;
  min-height: 0 !important;
  pointer-events: auto !important;
}

/*
 * Clics en Aceptar/Limpiar: el banner promo y capas legacy no deben bloquear el formulario.
 */
#outer-container.paf-login-shell .paf-login-promo-wrap {
  pointer-events: none !important;
}

#outer-container.paf-login-shell .login-form-modern,
#outer-container.paf-login-shell .login-form-actions,
#outer-container.paf-login-shell .login-form-actions .login-btn,
#outer-container.paf-login-shell .login-form-actions input.submit,
#outer-container.paf-login-shell .login-form-actions input.button,
#outer-container.paf-login-shell .login-form-actions button {
  pointer-events: auto !important;
  cursor: pointer;
}

/*
 * style.css referencia fonts/icomoon.* bajo PaginaLogin_files; si faltan, el icono de sesión
 * (#welcome .icon-user3) queda como glifo genérico. Refuerzo con ruta absoluta en public/.
 */
@font-face {
  font-family: "icomoon";
  src: url("PaginaLogin_files/fonts/icomoon.svg?-gdhcjx#icomoon") format("svg");
  font-weight: normal;
  font-style: normal;
  font-display: block;
}

#outer-container.paf-login-shell #publicity #logout.paf-logout-stack #welcome .icon-user3,
#outer-container.paf-panel-shell #publicity #logout.paf-logout-stack #welcome .icon-user3,
#outer-container.paf-panel-shell #paf-session-bar #logout.paf-logout-stack #welcome .icon-user3 {
  display: inline-block;
  font-family: "icomoon", sans-serif !important;
  font-size: 15px;
  font-style: normal;
  font-weight: normal;
  line-height: 1;
  color: #888888;
  vertical-align: middle;
  speak: never;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

#outer-container.paf-login-shell #publicity #logout.paf-logout-stack #welcome .icon-user3::before,
#outer-container.paf-panel-shell #publicity #logout.paf-logout-stack #welcome .icon-user3::before,
#outer-container.paf-panel-shell #paf-session-bar #logout.paf-logout-stack #welcome .icon-user3::before {
  content: "\e600";
}

/*
 * Candado final: logo y título del cintillo idénticos en login, panel y registro.
 * Anula brandv2 (#publicity #tittle { margin-left: 26% }) y reglas legacy posteriores.
 */
#outer-container.paf-login-shell .paf-header-banner #publicity .logoInicio.paf-header-logo--banner,
#outer-container.paf-panel-shell .paf-header-banner #publicity .logoInicio.paf-header-logo--banner,
#outer-container.paf-public-shell .paf-header-banner #publicity .logoInicio.paf-header-logo--banner {
  display: block !important;
  width: auto !important;
  height: var(--paf-banner-logo-height) !important;
  max-width: min(240px, 28vw) !important;
  max-height: var(--paf-banner-logo-height) !important;
  flex: none !important;
  aspect-ratio: unset !important;
  object-fit: contain !important;
  filter: drop-shadow(0 2px 4px rgba(0, 0, 0, 0.35)) drop-shadow(0 6px 18px rgba(0, 0, 0, 0.28));
}

#outer-container.paf-login-shell .paf-header-banner #publicity #tittle.paf-portal-title,
#outer-container.paf-panel-shell .paf-header-banner #publicity #tittle.paf-portal-title,
#outer-container.paf-public-shell .paf-header-banner #publicity #tittle.paf-portal-title {
  grid-column: 2 !important;
  justify-self: center !important;
  margin: 0 !important;
  align-self: center !important;
  max-width: none !important;
  width: auto !important;
  height: auto !important;
  object-fit: unset !important;
  text-align: center !important;
  font-size: var(--paf-portal-title-size) !important;
  white-space: nowrap !important;
}

@media (max-width: 600px) {
  #outer-container.paf-panel-shell #paf-session-bar.paf-session-bar {
    position: static;
    top: auto;
    right: auto;
    left: auto;
    z-index: auto;
    width: 100%;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 8px clamp(10px, 2vw, 16px) 0 !important;
    box-sizing: border-box;
  }

  #outer-container.paf-panel-shell #paf-panel-chrome #paf-session-bar.paf-user-profile-card {
    width: 100%;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  #outer-container.paf-panel-shell #paf-session-bar.paf-user-profile-card #logout.paf-logout-stack {
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
  }

  #outer-container.paf-panel-shell #paf-session-bar .paf-user-profile-card__body {
    width: 100%;
  }

  #outer-container.paf-panel-shell #paf-session-bar .paf-user-profile-card__meta {
    flex: 1 1 auto;
    width: auto;
  }

  #outer-container.paf-panel-shell #paf-session-bar #logout.paf-logout-stack #welcome {
    white-space: normal;
    overflow-wrap: anywhere;
  }

  #outer-container.paf-login-shell .paf-header-banner #publicity #tittle.paf-portal-title,
  #outer-container.paf-panel-shell .paf-header-banner #publicity #tittle.paf-portal-title,
  #outer-container.paf-public-shell .paf-header-banner #publicity #tittle.paf-portal-title {
    white-space: normal !important;
    text-wrap: balance;
  }
}
