/* KOVRA — refinamiento final del inicio de sesión.
   Solo presentación del acceso principal: más estrecho, más vertical, más legible y sin fondo tipo puerta. */

/* Fondo limpio: se elimina únicamente en el login el marco/puerta decorativo anterior. */
body.auth-premium-page:has(.auth-gateway-shell > .auth-main-card:not(.recovery-card))::before,
body.auth-premium-page:has(.auth-gateway-shell > .auth-main-card:not(.recovery-card))::after{
  display:none !important;
}

body.auth-premium-page:has(.auth-gateway-shell > .auth-main-card:not(.recovery-card)){
  overflow:hidden !important;
  background:
    radial-gradient(circle at 50% 0%,rgba(55,221,103,.07),transparent 30%),
    linear-gradient(180deg,#07120b 0%,#030805 100%) !important;
}

/* Composición más estrecha y vertical, centrada en el área útil del teléfono. */
.auth-gateway-shell{
  width:min(calc(100% - 58px),404px) !important;
  height:100svh !important;
  max-height:100svh !important;
  padding:max(2px,env(safe-area-inset-top)) 0 max(4px,env(safe-area-inset-bottom)) !important;
  display:grid !important;
  grid-template-rows:auto auto auto auto !important;
  align-content:start !important;
  gap:4px !important;
  overflow:hidden !important;
}

/* Marca arriba, ocupando solo el espacio necesario. */
.auth-brand{
  margin:0 !important;
}
.auth-brand .kovra-logo-login{
  width:clamp(150px,39vw,190px) !important;
  margin:0 auto !important;
}
.auth-hero-line{
  margin:0 !important;
  font-size:13.8px !important;
  line-height:1.05 !important;
}
.auth-hero-line strong::after{
  width:42px !important;
  margin:2px auto 0 !important;
}

/* Formulario: compacto, pero con tipografía más clara. */
.auth-main-card{
  margin:0 !important;
  padding:7px 8px 5px !important;
  border-radius:17px !important;
}
.auth-mode-tabs{
  margin:0 0 5px !important;
}
.auth-tab{
  min-height:31px !important;
  padding:3px 2px 5px !important;
  font-size:12px !important;
}
.auth-tab svg{
  width:13px !important;
  height:13px !important;
  flex-basis:13px !important;
}
.auth-main-card .field{
  margin-bottom:4px !important;
}
.auth-main-card .field > span{
  margin-bottom:2px !important;
  font-size:12px !important;
  line-height:1.08 !important;
}
.auth-input-shell,
.auth-main-card .password-field{
  min-height:37px !important;
  grid-template-columns:29px minmax(0,1fr) auto !important;
  border-radius:9px !important;
}
.auth-input-shell input,
.auth-main-card .password-field input{
  height:37px !important;
  font-size:16px !important;
}
.auth-input-icon{
  width:29px !important;
  height:29px !important;
}
.auth-forgot-link{
  margin:0 1px 4px auto !important;
  font-size:12px !important;
}
.auth-primary-button,
.auth-main-card .login-button{
  min-height:39px !important;
  font-size:12.8px !important;
}
.auth-trust-line{
  margin-top:5px !important;
  padding-top:5px !important;
  font-size:12px !important;
}

/* Bloque comercial: mayor legibilidad sin ganar altura innecesaria. */
.auth-benefits{
  margin:0 !important;
  padding:7px 8px 6px !important;
  border-radius:15px !important;
}
.auth-benefits-head{
  margin:0 0 5px !important;
  padding:0 0 5px 7px !important;
  border-left:2px solid rgba(83,241,127,.58) !important;
  border-bottom:1px solid rgba(255,255,255,.045) !important;
}
.auth-benefits h2{
  margin:0 !important;
  font-size:14.8px !important;
  line-height:1.08 !important;
  font-weight:760 !important;
  letter-spacing:-.018em !important;
}
.auth-benefits h2 strong{
  font-weight:900 !important;
}

/* Analítica realista en una franja horizontal; sin círculos ni adornos sueltos. */
.auth-benefits-body{
  display:block !important;
}
.auth-product-visual{
  min-height:0 !important;
  height:69px !important;
  margin:0 0 5px !important;
  padding:0 !important;
  border-right:0 !important;
  overflow:hidden !important;
  display:block !important;
}
.auth-cloud,
.auth-sync-lines,
.auth-coins,
.auth-platform,
.auth-donut{
  display:none !important;
}
.auth-mini-dashboard{
  position:relative !important;
  left:auto !important;
  bottom:auto !important;
  width:100% !important;
  height:69px !important;
  padding:6px 8px 5px !important;
  transform:none !important;
  border-radius:9px !important;
  background:linear-gradient(145deg,#141f17,#080d09) !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.025),0 7px 18px rgba(0,0,0,.25) !important;
  display:grid !important;
  grid-template-columns:1fr 74px !important;
  grid-template-rows:13px 1fr !important;
  column-gap:8px !important;
}
.auth-mini-dashboard small{
  grid-column:1 / -1 !important;
  margin:0 !important;
  color:#dbe4de !important;
  font-size:12px !important;
  line-height:1 !important;
  font-weight:800 !important;
  letter-spacing:.02em !important;
}
.auth-mini-dashboard svg{
  grid-column:1 !important;
  grid-row:2 !important;
  width:100% !important;
  height:42px !important;
  margin:0 !important;
}
.auth-mini-dashboard .chart-grid{
  stroke:rgba(255,255,255,.07) !important;
  stroke-width:.65 !important;
}
.auth-mini-dashboard .chart-line{
  stroke-width:2.25 !important;
  filter:drop-shadow(0 0 3px rgba(83,241,127,.2)) !important;
}
.auth-mini-bars{
  grid-column:2 !important;
  grid-row:2 !important;
  height:42px !important;
  margin:0 !important;
  display:block !important;
}
.auth-lines{
  height:42px !important;
  display:flex !important;
  align-items:flex-end !important;
  gap:5px !important;
}
.auth-lines i{
  flex:1 1 0 !important;
  min-width:0 !important;
  border-radius:3px 3px 0 0 !important;
  background:linear-gradient(180deg,rgba(83,241,127,.92),rgba(83,241,127,.16)) !important;
}
.auth-lines i:nth-child(1){height:31% !important;}
.auth-lines i:nth-child(2){height:59% !important;}
.auth-lines i:nth-child(3){height:90% !important;}

/* Ocho razones, organizadas en dos columnas para ganar tamaño de letra sin provocar scroll. */
.auth-feature-list{
  display:grid !important;
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  column-gap:7px !important;
  row-gap:1px !important;
}
.auth-feature{
  grid-template-columns:19px minmax(0,1fr) !important;
  gap:4px !important;
  padding:3px 0 !important;
  min-width:0 !important;
  align-items:start !important;
}
.auth-feature-icon{
  width:18px !important;
  height:18px !important;
  border-radius:6px !important;
}
.auth-feature-icon svg{
  width:11px !important;
  height:11px !important;
}
.auth-feature p{
  margin:0 !important;
  font-size:12px !important;
  line-height:1.15 !important;
  color:#c5d0c9 !important;
}
.auth-feature p strong{
  color:#e7eee9 !important;
  font-weight:800 !important;
}

/* Advertencia legal pequeña, intencional y visualmente separada. */
.auth-disclaimer{
  width:100% !important;
  margin:0 !important;
  padding:5px 7px !important;
  border:1px solid rgba(255,193,92,.14) !important;
  border-radius:8px !important;
  background:rgba(255,193,92,.025) !important;
  color:#939c96 !important;
  font-size:12px !important;
  line-height:1.16 !important;
  letter-spacing:0 !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:5px !important;
}
.auth-disclaimer::before{
  display:none !important;
  content:none !important;
}
.auth-warning-mark{
  width:15px;
  height:15px;
  flex:0 0 15px;
  display:grid;
  place-items:center;
  border:1px solid rgba(255,193,92,.3);
  border-radius:50%;
  color:#e6bd72;
  font-size:12px;
  font-weight:900;
}
.auth-disclaimer strong{
  display:inline !important;
  margin:0 !important;
  color:#d5dbd7 !important;
  font-size:12px !important;
  font-weight:820 !important;
}

/* Teléfonos pequeños: se conserva todo visible sin sacrificar contenido. */
@media(max-width:390px){
  .auth-gateway-shell{
    width:calc(100% - 54px) !important;
  }
  .auth-feature p{
    font-size:12px !important;
  }
}

@media(max-height:760px) and (max-width:620px){
  .auth-brand .kovra-logo-login{width:144px !important;}
  .auth-hero-line{font-size:13px !important;}
  .auth-main-card{padding-top:6px !important;}
  .auth-tab{min-height:29px !important;}
  .auth-input-shell,
  .auth-main-card .password-field{min-height:35px !important;}
  .auth-input-shell input,
  .auth-main-card .password-field input{height:35px !important;}
  .auth-primary-button,
  .auth-main-card .login-button{min-height:37px !important;}
  .auth-product-visual,
  .auth-mini-dashboard{height:62px !important;}
  .auth-mini-dashboard svg,
  .auth-mini-bars,
  .auth-lines{height:36px !important;}
  .auth-feature p{font-size:12px !important;}
  .auth-feature{padding:2px 0 !important;}
}

@media(max-height:690px) and (max-width:620px){
  .auth-brand .kovra-logo-login{width:136px !important;}
  .auth-hero-line{font-size:12.5px !important;}
  .auth-main-card .field > span{font-size:12px !important;}
  .auth-benefits h2{font-size:13.8px !important;}
  .auth-product-visual,
  .auth-mini-dashboard{height:56px !important;}
  .auth-mini-dashboard svg,
  .auth-mini-bars,
  .auth-lines{height:31px !important;}
  .auth-feature p{font-size:12px !important;}
  .auth-disclaimer{font-size:12px !important;}
}

/* Ajuste solicitado: texto comercial uniforme y énfasis solo con verde KOVRA. */
.auth-benefits h2 strong,
.auth-feature p strong{
  color:var(--auth-green,#53f17f) !important;
  font-size:inherit !important;
  font-weight:inherit !important;
}

.auth-feature p,
.auth-mini-dashboard small{
  font-size:12px !important;
  line-height:1.16 !important;
}

/* La advertencia se mantiene compacta, pero ya no queda demasiado pequeña. */
.auth-disclaimer{
  font-size:12px !important;
  line-height:1.2 !important;
  padding:6px 8px !important;
}
.auth-disclaimer strong{
  font-size:12px !important;
  line-height:inherit !important;
}

@media(max-height:760px) and (max-width:620px){
  .auth-feature p,
  .auth-mini-dashboard small{
    font-size:12px !important;
  }
  .auth-disclaimer{font-size:12px !important;}
  .auth-disclaimer strong{font-size:12px !important;}
}

@media(max-height:690px) and (max-width:620px){
  .auth-feature p,
  .auth-mini-dashboard small{
    font-size:12px !important;
  }
  .auth-disclaimer{font-size:12px !important;}
  .auth-disclaimer strong{font-size:12px !important;}
}
