
/* ==========================================================
   NUBO_AUTH_PREMIUM_GREEN_V1_START
   ========================================================== */

.nubo-auth-premium {
  --nubo-auth-forest:
    #0b3828;

  --nubo-auth-deep:
    #0d5137;

  --nubo-auth-emerald:
    #119966;

  --nubo-auth-mint:
    #a7f3cf;

  --nubo-auth-soft:
    #e7f8ef;

  --nubo-auth-ivory:
    #f8fbf9;

  display:
    grid !important;

  grid-template-columns:
    minmax(0, 1.12fr)
    minmax(430px, 0.88fr) !important;

  width:
    100%;

  min-height:
    100vh;

  min-height:
    100svh;

  overflow:
    hidden;

  color:
    #122b22;

  background:
    #f7faf8;
}


/* ==========================================================
   PANEL VISUAL
   ========================================================== */

.nubo-auth-visual {
  position:
    relative;

  isolation:
    isolate;

  display:
    flex !important;

  flex-direction:
    column;

  justify-content:
    space-between;

  min-width:
    0;

  min-height:
    100vh;

  min-height:
    100svh;

  padding:
    clamp(
      34px,
      5vw,
      74px
    );

  overflow:
    hidden;

  color:
    #ffffff;

  background:
    radial-gradient(
      circle at 12% 10%,
      rgba(167, 243, 207, 0.22),
      transparent 28%
    ),
    radial-gradient(
      circle at 88% 18%,
      rgba(118, 225, 181, 0.22),
      transparent 28%
    ),
    radial-gradient(
      circle at 15% 92%,
      rgba(213, 255, 231, 0.16),
      transparent 30%
    ),
    linear-gradient(
      145deg,
      #092f22 0%,
      #0d5137 42%,
      #0c7950 72%,
      #18a66f 100%
    ) !important;
}


.nubo-auth-visual::before {
  content:
    "";

  position:
    absolute;

  inset:
    0;

  z-index:
    -2;

  opacity:
    0.34;

  background-image:
    radial-gradient(
      circle,
      rgba(255, 255, 255, 0.34) 1px,
      transparent 1.5px
    );

  background-size:
    28px
    28px;

  mask-image:
    linear-gradient(
      135deg,
      transparent 10%,
      #000 55%,
      transparent 100%
    );
}


.nubo-auth-visual::after {
  content:
    "";

  position:
    absolute;

  right:
    -18%;

  bottom:
    -26%;

  z-index:
    -1;

  width:
    min(
      58vw,
      700px
    );

  aspect-ratio:
    1;

  border:
    1px solid
    rgba(209, 255, 230, 0.23);

  border-radius:
    50%;

  box-shadow:
    0 0 0 76px
    rgba(199, 255, 224, 0.035),
    0 0 0 154px
    rgba(199, 255, 224, 0.025);
}


.nubo-auth-orb,
.nubo-auth-orbit {
  position:
    absolute;

  pointer-events:
    none;
}


.nubo-auth-orb {
  border-radius:
    50%;

  filter:
    blur(2px);

  animation:
    nubo-auth-float
    8s
    ease-in-out
    infinite;
}


.nubo-auth-orb.is-one {
  top:
    12%;

  right:
    9%;

  width:
    13px;

  height:
    13px;

  background:
    #b9f8d7;

  box-shadow:
    0 0 28px
    rgba(185, 248, 215, 0.82);
}


.nubo-auth-orb.is-two {
  left:
    10%;

  bottom:
    18%;

  width:
    9px;

  height:
    9px;

  animation-delay:
    -3s;

  background:
    #f4d785;

  box-shadow:
    0 0 24px
    rgba(244, 215, 133, 0.55);
}


.nubo-auth-orbit {
  border:
    1px solid
    rgba(207, 255, 229, 0.18);

  border-radius:
    50%;
}


.nubo-auth-orbit.is-one {
  top:
    -20%;

  right:
    -5%;

  width:
    54%;

  aspect-ratio:
    1;
}


.nubo-auth-orbit.is-two {
  top:
    24%;

  right:
    8%;

  width:
    31%;

  aspect-ratio:
    1;

  animation:
    nubo-auth-orbit
    18s
    linear
    infinite;
}


/* Marca */

.nubo-auth-brand {
  position:
    relative;

  z-index:
    2;

  display:
    inline-flex !important;

  align-items:
    center;

  gap:
    13px;

  width:
    fit-content;

  animation:
    nubo-auth-rise
    620ms
    ease
    both;
}


.nubo-auth-brand
.brand-mark {
  width:
    48px;

  height:
    48px;

  border:
    1px solid
    rgba(255, 255, 255, 0.22);

  border-radius:
    15px;

  box-shadow:
    0 13px 28px
    rgba(0, 35, 21, 0.26),
    inset 0 1px 0
    rgba(255, 255, 255, 0.30);
}


.nubo-auth-brand__copy {
  display:
    grid;

  gap:
    1px;
}


.nubo-auth-brand__copy strong {
  color:
    #ffffff;

  font-size:
    20px;

  letter-spacing:
    -0.03em;
}


.nubo-auth-brand__copy small {
  color:
    rgba(240, 255, 247, 0.68);

  font-size:
    10px;

  font-weight:
    650;

  letter-spacing:
    0.08em;

  text-transform:
    uppercase;
}


/* Copia principal */

.nubo-auth-copy {
  position:
    relative;

  z-index:
    2;

  width:
    min(
      720px,
      100%
    );

  margin-block:
    clamp(
      32px,
      7vh,
      84px
    );

  animation:
    nubo-auth-rise
    720ms
    100ms
    ease
    both;
}


.nubo-auth-kicker {
  display:
    inline-flex;

  align-items:
    center;

  gap:
    8px;

  margin-bottom:
    21px;

  padding:
    8px
    12px;

  border:
    1px solid
    rgba(201, 255, 226, 0.18);

  border-radius:
    999px;

  color:
    #d5fbe6;

  background:
    rgba(255, 255, 255, 0.08);

  box-shadow:
    inset 0 1px 0
    rgba(255, 255, 255, 0.10);

  font-size:
    11px;

  font-weight:
    740;

  letter-spacing:
    0.02em;
}


.nubo-auth-copy h1 {
  max-width:
    740px;

  margin:
    0;

  color:
    #ffffff;

  font-size:
    clamp(
      44px,
      5.2vw,
      78px
    ) !important;

  font-weight:
    790;

  letter-spacing:
    -0.065em !important;

  line-height:
    0.98;
}


.nubo-auth-copy h1 span {
  display:
    block;

  color:
    #aaf3ce;

  text-shadow:
    0 8px 28px
    rgba(81, 238, 163, 0.16);
}


.nubo-auth-copy
> p {
  max-width:
    650px;

  margin:
    24px
    0
    0;

  color:
    rgba(240, 255, 247, 0.79) !important;

  font-size:
    clamp(
      16px,
      1.45vw,
      20px
    );

  line-height:
    1.65;
}


/* Beneficios */

.nubo-auth-benefits {
  display:
    grid !important;

  grid-template-columns:
    repeat(
      3,
      minmax(0, 1fr)
    );

  gap:
    14px;

  margin-top:
    clamp(
      35px,
      6vh,
      64px
    );
}


.nubo-auth-benefit {
  display:
    grid;

  grid-template-columns:
    44px
    minmax(0, 1fr);

  gap:
    12px;

  min-width:
    0;

  padding:
    17px;

  border:
    1px solid
    rgba(211, 255, 232, 0.15);

  border-radius:
    18px;

  background:
    linear-gradient(
      145deg,
      rgba(255, 255, 255, 0.12),
      rgba(255, 255, 255, 0.055)
    );

  box-shadow:
    inset 0 1px 0
    rgba(255, 255, 255, 0.11),
    0 16px 36px
    rgba(0, 45, 27, 0.10);

  backdrop-filter:
    blur(8px);

  -webkit-backdrop-filter:
    blur(8px);

  transition:
    transform 180ms ease,
    border-color 180ms ease,
    background 180ms ease;
}


.nubo-auth-benefit:hover {
  transform:
    translateY(-4px);

  border-color:
    rgba(210, 255, 232, 0.30);

  background:
    linear-gradient(
      145deg,
      rgba(255, 255, 255, 0.17),
      rgba(255, 255, 255, 0.07)
    );
}


.nubo-auth-benefit__icon {
  display:
    grid;

  place-items:
    center;

  width:
    44px;

  height:
    44px;

  border-radius:
    14px;

  color:
    #b6f6d4;

  background:
    rgba(183, 247, 213, 0.12);
}


.nubo-auth-benefit.is-secure
.nubo-auth-benefit__icon {
  color:
    #ffe49b;

  background:
    rgba(255, 221, 128, 0.10);
}


.nubo-auth-benefit.is-ai
.nubo-auth-benefit__icon {
  color:
    #d9c9ff;

  background:
    rgba(203, 181, 255, 0.12);
}


.nubo-auth-benefit__icon
svg {
  width:
    22px;

  height:
    22px;
}


.nubo-auth-benefit small {
  display:
    block;

  margin-bottom:
    4px;

  color:
    rgba(238, 255, 246, 0.58);

  font-size:
    9px;

  font-weight:
    750;

  letter-spacing:
    0.06em;

  text-transform:
    uppercase;
}


.nubo-auth-benefit strong {
  display:
    block;

  color:
    #ffffff;

  font-size:
    14px;

  line-height:
    1.25;
}


.nubo-auth-benefit p {
  margin:
    6px
    0
    0;

  color:
    rgba(238, 255, 246, 0.66);

  font-size:
    10.5px;

  line-height:
    1.45;
}


/* Pie visual */

.nubo-auth-visual__foot {
  position:
    relative;

  z-index:
    2;

  display:
    inline-flex;

  align-items:
    center;

  gap:
    9px;

  width:
    fit-content;

  color:
    rgba(239, 255, 247, 0.68);

  animation:
    nubo-auth-rise
    680ms
    180ms
    ease
    both;
}


.nubo-auth-visual__foot
> span {
  display:
    grid;

  place-items:
    center;

  width:
    26px;

  height:
    26px;

  border:
    1px solid
    rgba(189, 255, 220, 0.17);

  border-radius:
    9px;

  color:
    #aaf3ce;

  background:
    rgba(255, 255, 255, 0.075);
}


.nubo-auth-foot-check {
  width:
    14px;

  height:
    14px;
}


.nubo-auth-visual__foot p {
  margin:
    0;

  font-size:
    10.5px;
}


/* ==========================================================
   PANEL DE ACCESO
   ========================================================== */

.nubo-auth-panel {
  position:
    relative;

  display:
    grid !important;

  place-items:
    center;

  min-width:
    0;

  min-height:
    100vh;

  min-height:
    100svh;

  padding:
    clamp(
      24px,
      4.2vw,
      64px
    ) !important;

  overflow-y:
    auto;

  background:
    radial-gradient(
      circle at 92% 10%,
      rgba(40, 187, 121, 0.09),
      transparent 26%
    ),
    radial-gradient(
      circle at 12% 90%,
      rgba(130, 96, 235, 0.055),
      transparent 28%
    ),
    linear-gradient(
      180deg,
      #fbfdfb,
      #f5f9f7
    ) !important;
}


.nubo-auth-card {
  position:
    relative;

  width:
    min(
      520px,
      100%
    ) !important;

  padding:
    clamp(
      24px,
      3.2vw,
      40px
    );

  border:
    1px solid
    rgba(211, 224, 217, 0.82);

  border-radius:
    27px;

  background:
    rgba(255, 255, 255, 0.965);

  box-shadow:
    0 28px 70px
    rgba(24, 70, 49, 0.10),
    0 7px 22px
    rgba(24, 70, 49, 0.045),
    inset 0 1px 0
    rgba(255, 255, 255, 0.96);

  animation:
    nubo-auth-card-in
    620ms
    cubic-bezier(0.2, 0.8, 0.2, 1)
    both;
}


.nubo-auth-card::before {
  content:
    "";

  position:
    absolute;

  top:
    -1px;

  left:
    14%;

  width:
    72%;

  height:
    2px;

  border-radius:
    999px;

  background:
    linear-gradient(
      90deg,
      transparent,
      rgba(28, 174, 109, 0.55),
      transparent
    );
}


.nubo-auth-card__head {
  margin-bottom:
    22px !important;
}


.nubo-auth-status {
  gap:
    7px !important;

  padding:
    7px
    11px !important;

  border:
    1px solid
    #caefdb;

  color:
    #137148 !important;

  background:
    #e9f9f0 !important;

  box-shadow:
    inset 0 1px 0
    rgba(255, 255, 255, 0.85);
}


.nubo-auth-card h2 {
  margin:
    18px
    0
    7px !important;

  color:
    #132d24;

  font-size:
    clamp(
      29px,
      3vw,
      39px
    ) !important;

  font-weight:
    790;

  letter-spacing:
    -0.052em !important;

  line-height:
    1.08;
}


.nubo-auth-card__head p {
  margin:
    0;

  color:
    #718078 !important;

  font-size:
    13.5px;

  line-height:
    1.55;
}


/* Tabs */

.nubo-auth-tabs {
  display:
    grid !important;

  grid-template-columns:
    repeat(
      2,
      minmax(0, 1fr)
    );

  gap:
    5px;

  margin-bottom:
    16px;

  padding:
    5px;

  border:
    1px solid
    #dfe8e3;

  border-radius:
    14px;

  background:
    #f2f6f4 !important;
}


.nubo-auth-tabs button {
  min-height:
    42px;

  border:
    0;

  border-radius:
    10px;

  color:
    #65756d;

  background:
    transparent;

  font:
    inherit;

  font-size:
    12px;

  font-weight:
    750;

  cursor:
    pointer;

  transition:
    color 170ms ease,
    background-color 170ms ease,
    box-shadow 170ms ease,
    transform 170ms ease;
}


.nubo-auth-tabs button:hover {
  color:
    #1b6d48;
}


.nubo-auth-tabs
button.is-active {
  color:
    #145b3d;

  background:
    #ffffff;

  box-shadow:
    0 5px 14px
    rgba(34, 78, 57, 0.08),
    inset 0 -2px 0
    #2caf74;
}


/* Google */

.nubo-auth-provider {
  display:
    grid;

  grid-template-columns:
    30px
    minmax(0, 1fr)
    auto;

  align-items:
    center;

  gap:
    10px;

  width:
    100%;

  min-height:
    49px;

  padding:
    8px
    11px;

  border:
    1px solid
    #dce5e0;

  border-radius:
    13px;

  color:
    #24382f;

  background:
    #ffffff;

  font:
    inherit;

  font-size:
    12px;

  font-weight:
    740;

  text-align:
    left;
}


.nubo-auth-provider:disabled {
  opacity:
    1;

  cursor:
    not-allowed;
}


.nubo-auth-provider small {
  padding:
    4px
    7px;

  border-radius:
    999px;

  color:
    #7c6d43;

  background:
    #fff6d9;

  font-size:
    8px;

  font-weight:
    800;

  letter-spacing:
    0.04em;

  text-transform:
    uppercase;
}


.nubo-auth-google {
  display:
    grid;

  place-items:
    center;

  width:
    30px;

  height:
    30px;

  border:
    1px solid
    #edf0ef;

  border-radius:
    9px;

  color:
    #4285f4;

  background:
    linear-gradient(
      135deg,
      #fff,
      #f7f9f8
    );

  box-shadow:
    0 3px 9px
    rgba(37, 68, 53, 0.06);

  font-size:
    16px;

  font-weight:
    850;
}


/* Divisor */

.nubo-auth-divider {
  display:
    grid;

  grid-template-columns:
    1fr
    auto
    1fr;

  align-items:
    center;

  gap:
    10px;

  margin:
    16px
    0;
}


.nubo-auth-divider::before,
.nubo-auth-divider::after {
  content:
    "";

  height:
    1px;

  background:
    #e3eae6;
}


.nubo-auth-divider span {
  color:
    #91a098;

  font-size:
    9.5px;

  font-weight:
    650;
}


/* Formulario */

.nubo-auth-form {
  gap:
    13px !important;
}


.nubo-auth-field {
  gap:
    7px !important;
}


.nubo-auth-field
> span {
  color:
    #274337;

  font-size:
    10.5px;

  font-weight:
    780;
}


.nubo-auth-input {
  min-height:
    47px;

  border:
    1px solid
    #dce5e0 !important;

  border-radius:
    12px !important;

  background:
    #ffffff !important;

  box-shadow:
    inset 0 1px 2px
    rgba(18, 55, 37, 0.025);

  transition:
    border-color 170ms ease,
    box-shadow 170ms ease,
    background-color 170ms ease;
}


.nubo-auth-input:focus-within {
  border-color:
    #61be8f !important;

  background:
    #ffffff !important;

  box-shadow:
    0 0 0 4px
    rgba(45, 174, 112, 0.10),
    inset 0 1px 2px
    rgba(18, 55, 37, 0.025);
}


.nubo-auth-input
> svg {
  color:
    #82938a;
}


.nubo-auth-input input {
  color:
    #20362c !important;

  font-size:
    12px;
}


.nubo-auth-input input::placeholder {
  color:
    #a0aea7;
}


.nubo-auth-password-toggle {
  width:
    34px !important;

  min-width:
    34px !important;

  height:
    34px !important;

  border-radius:
    9px !important;

  color:
    #85958d !important;
}


.nubo-auth-error {
  min-height:
    0;

  margin:
    0;

  color:
    #d14c57;

  font-size:
    10.5px;
}


.nubo-auth-error:empty {
  display:
    none;
}


.nubo-auth-submit {
  display:
    flex !important;

  align-items:
    center;

  justify-content:
    center;

  gap:
    10px;

  min-height:
    49px;

  margin-top:
    3px;

  border:
    0 !important;

  border-radius:
    13px !important;

  color:
    #ffffff !important;

  background:
    linear-gradient(
      135deg,
      #14714b,
      #259d69
    ) !important;

  box-shadow:
    0 11px 24px
    rgba(24, 128, 83, 0.20),
    inset 0 1px 0
    rgba(255, 255, 255, 0.18) !important;

  font-size:
    12px;

  font-weight:
    780;

  transition:
    transform 170ms ease,
    box-shadow 170ms ease,
    filter 170ms ease;
}


.nubo-auth-submit:hover {
  transform:
    translateY(-2px);

  filter:
    saturate(1.05);

  box-shadow:
    0 14px 29px
    rgba(24, 128, 83, 0.25),
    inset 0 1px 0
    rgba(255, 255, 255, 0.20) !important;
}


.nubo-auth-submit:active {
  transform:
    translateY(0);
}


.nubo-auth-submit__arrow {
  width:
    16px;

  height:
    16px;

  transition:
    transform 170ms ease;
}


.nubo-auth-submit:hover
.nubo-auth-submit__arrow {
  transform:
    translateX(3px);
}


/* Opciones futuras */

.nubo-auth-alternatives {
  display:
    grid;

  gap:
    9px;

  margin-top:
    18px;
}


.nubo-auth-alternatives__title {
  margin:
    0
    0
    1px;

  color:
    #7a8a82;

  font-size:
    9.5px;

  font-weight:
    750;

  letter-spacing:
    0.04em;

  text-transform:
    uppercase;
}


.nubo-auth-option {
  display:
    grid;

  grid-template-columns:
    37px
    minmax(0, 1fr)
    auto;

  align-items:
    center;

  gap:
    10px;

  width:
    100%;

  min-height:
    58px;

  padding:
    9px
    10px;

  border:
    1px solid
    #e1e8e4;

  border-radius:
    13px;

  color:
    #284036;

  background:
    linear-gradient(
      135deg,
      #ffffff,
      #fafcfb
    );

  font:
    inherit;

  text-align:
    left;
}


.nubo-auth-option:disabled {
  opacity:
    1;

  cursor:
    not-allowed;
}


.nubo-auth-option__icon {
  display:
    grid;

  place-items:
    center;

  width:
    37px;

  height:
    37px;

  border-radius:
    11px;

  color:
    #3479d2;

  background:
    #edf5ff;
}


.nubo-auth-option.is-whatsapp
.nubo-auth-option__icon {
  color:
    #159b52;

  background:
    #eafaf0;
}


.nubo-auth-option__icon
svg {
  width:
    18px;

  height:
    18px;
}


.nubo-auth-option__copy {
  display:
    grid;

  min-width:
    0;

  gap:
    2px;
}


.nubo-auth-option__copy strong {
  color:
    #2d443a;

  font-size:
    10.5px;
}


.nubo-auth-option__copy small {
  overflow:
    hidden;

  color:
    #87958e;

  font-size:
    8.8px;

  line-height:
    1.35;

  text-overflow:
    ellipsis;
}


.nubo-auth-option__status {
  padding:
    4px
    6px;

  border-radius:
    999px;

  color:
    #7d704a;

  background:
    #fff6dc;

  font-size:
    7.5px;

  font-weight:
    820;

  text-transform:
    uppercase;
}


/* Seguridad */

.nubo-auth-security {
  display:
    grid;

  grid-template-columns:
    34px
    minmax(0, 1fr);

  align-items:
    center;

  gap:
    10px;

  margin-top:
    16px;

  padding-top:
    14px;

  border-top:
    1px solid
    #e7ede9;
}


.nubo-auth-security__icon {
  display:
    grid;

  place-items:
    center;

  width:
    34px;

  height:
    34px;

  border-radius:
    11px;

  color:
    #178558;

  background:
    #e9f9f0;
}


.nubo-auth-security__icon
svg {
  width:
    17px;

  height:
    17px;
}


.nubo-auth-security p {
  display:
    grid;

  gap:
    2px;

  margin:
    0;
}


.nubo-auth-security strong {
  color:
    #486057;

  font-size:
    9.5px;
}


.nubo-auth-security p
span {
  color:
    #8a9891;

  font-size:
    8.7px;
}


/* ==========================================================
   ANIMACIONES
   ========================================================== */

@keyframes nubo-auth-rise {
  from {
    opacity:
      0;

    transform:
      translateY(16px);
  }

  to {
    opacity:
      1;

    transform:
      translateY(0);
  }
}


@keyframes nubo-auth-card-in {
  from {
    opacity:
      0;

    transform:
      translateY(18px)
      scale(0.985);
  }

  to {
    opacity:
      1;

    transform:
      translateY(0)
      scale(1);
  }
}


@keyframes nubo-auth-float {
  0%,
  100% {
    transform:
      translate3d(0, 0, 0);
  }

  50% {
    transform:
      translate3d(0, -12px, 0);
  }
}


@keyframes nubo-auth-orbit {
  from {
    transform:
      rotate(0deg);
  }

  to {
    transform:
      rotate(360deg);
  }
}


/* ==========================================================
   TABLET
   ========================================================== */

@media (max-width: 1040px) {
  .nubo-auth-premium {
    grid-template-columns:
      minmax(0, 0.98fr)
      minmax(405px, 1.02fr) !important;
  }

  .nubo-auth-visual {
    padding:
      34px;
  }

  .nubo-auth-copy h1 {
    font-size:
      clamp(
        42px,
        5vw,
        60px
      ) !important;
  }

  .nubo-auth-benefits {
    grid-template-columns:
      minmax(0, 1fr);

    gap:
      9px;
  }

  .nubo-auth-benefit {
    grid-template-columns:
      39px
      minmax(0, 1fr);

    padding:
      12px;
  }

  .nubo-auth-benefit__icon {
    width:
      39px;

    height:
      39px;
  }

  .nubo-auth-benefit p {
    display:
      none;
  }
}


/* ==========================================================
   MÓVIL
   ========================================================== */

@media (max-width: 780px) {
  .nubo-auth-premium {
    display:
      block !important;

    min-height:
      100svh;

    overflow-y:
      auto;
  }

  .nubo-auth-visual {
    min-height:
      auto;

    padding:
      24px
      20px
      30px;

    border-radius:
      0
      0
      28px
      28px;
  }

  .nubo-auth-brand
  .brand-mark {
    width:
      42px;

    height:
      42px;

    border-radius:
      13px;
  }

  .nubo-auth-copy {
    margin:
      35px
      0
      0;
  }

  .nubo-auth-kicker {
    margin-bottom:
      14px;

    padding:
      6px
      9px;

    font-size:
      9px;
  }

  .nubo-auth-copy h1 {
    max-width:
      520px;

    font-size:
      clamp(
        38px,
        11vw,
        54px
      ) !important;

    line-height:
      1;
  }

  .nubo-auth-copy
  > p {
    max-width:
      520px;

    margin-top:
      16px;

    font-size:
      13px;

    line-height:
      1.55;
  }

  .nubo-auth-benefits {
    grid-template-columns:
      repeat(
        3,
        minmax(0, 1fr)
      );

    gap:
      7px;

    margin-top:
      25px;
  }

  .nubo-auth-benefit {
    display:
      flex;

    align-items:
      center;

    gap:
      7px;

    min-height:
      54px;

    padding:
      8px;

    border-radius:
      13px;
  }

  .nubo-auth-benefit__icon {
    flex:
      0
      0
      31px;

    width:
      31px;

    height:
      31px;

    border-radius:
      10px;
  }

  .nubo-auth-benefit__icon
  svg {
    width:
      16px;

    height:
      16px;
  }

  .nubo-auth-benefit small,
  .nubo-auth-benefit p {
    display:
      none;
  }

  .nubo-auth-benefit strong {
    font-size:
      9px;

    line-height:
      1.15;
  }

  .nubo-auth-visual__foot {
    display:
      none;
  }

  .nubo-auth-panel {
    min-height:
      auto;

    padding:
      18px
      14px
      30px !important;

    overflow:
      visible;

    background:
      #f6faf8 !important;
  }

  .nubo-auth-card {
    width:
      100% !important;

    padding:
      22px
      17px;

    border-radius:
      22px;

    box-shadow:
      0 18px 44px
      rgba(24, 70, 49, 0.09);
  }

  .nubo-auth-card h2 {
    font-size:
      29px !important;
  }

  .nubo-auth-card__head p {
    font-size:
      12px;
  }
}


@media (max-width: 430px) {
  .nubo-auth-benefits {
    grid-template-columns:
      1fr;
  }

  .nubo-auth-benefit {
    min-height:
      45px;
  }

  .nubo-auth-option {
    grid-template-columns:
      34px
      minmax(0, 1fr);

    min-height:
      56px;
  }

  .nubo-auth-option__status {
    display:
      none;
  }

  .nubo-auth-provider {
    grid-template-columns:
      28px
      minmax(0, 1fr);
  }

  .nubo-auth-provider small {
    display:
      none;
  }
}


/* ==========================================================
   MODO OSCURO
   ========================================================== */

html[data-theme="dark"]
.nubo-auth-panel {
  background:
    radial-gradient(
      circle at 90% 8%,
      rgba(33, 168, 106, 0.10),
      transparent 26%
    ),
    #121b18 !important;
}


html[data-theme="dark"]
.nubo-auth-card {
  border-color:
    rgba(93, 119, 106, 0.24);

  color:
    #e6f0eb;

  background:
    rgba(24, 35, 30, 0.97);

  box-shadow:
    0 28px 70px
    rgba(0, 0, 0, 0.28);
}


html[data-theme="dark"]
.nubo-auth-card h2 {
  color:
    #edf6f1;
}


html[data-theme="dark"]
.nubo-auth-card__head p,
html[data-theme="dark"]
.nubo-auth-security p span {
  color:
    #94a59c !important;
}


html[data-theme="dark"]
.nubo-auth-tabs {
  border-color:
    #304038;

  background:
    #17231e !important;
}


html[data-theme="dark"]
.nubo-auth-tabs
button.is-active {
  color:
    #bcf3d3;

  background:
    #24342c;
}


html[data-theme="dark"]
.nubo-auth-provider,
html[data-theme="dark"]
.nubo-auth-input,
html[data-theme="dark"]
.nubo-auth-option {
  border-color:
    #34463d !important;

  color:
    #dfeae4;

  background:
    #1d2b24 !important;
}


html[data-theme="dark"]
.nubo-auth-input input,
html[data-theme="dark"]
.nubo-auth-option__copy strong {
  color:
    #e7f0eb !important;
}


/* ==========================================================
   MOVIMIENTO REDUCIDO
   ========================================================== */

@media (prefers-reduced-motion: reduce) {
  .nubo-auth-brand,
  .nubo-auth-copy,
  .nubo-auth-visual__foot,
  .nubo-auth-card,
  .nubo-auth-orb,
  .nubo-auth-orbit {
    animation:
      none !important;
  }

  .nubo-auth-benefit,
  .nubo-auth-tabs button,
  .nubo-auth-submit,
  .nubo-auth-submit__arrow {
    transition:
      none !important;
  }
}

/* NUBO_AUTH_PREMIUM_GREEN_V1_END */


/* ==========================================================
   NUBO_AUTH_TABS_REFINED_V2_START

   Convierte Ingresar / Crear cuenta en pestañas limpias.
   Sin botones interiores, sombras ni fondos pesados.
   ========================================================== */

.nubo-auth-card
.nubo-auth-tabs {
  position: relative !important;

  display: grid !important;

  grid-template-columns:
    repeat(
      2,
      minmax(0, 1fr)
    ) !important;

  gap: 18px !important;

  margin:
    0
    0
    20px !important;

  padding:
    0 !important;

  border:
    0 !important;

  border-bottom:
    1px solid
    #e2eae6 !important;

  border-radius:
    0 !important;

  background:
    transparent !important;

  box-shadow:
    none !important;
}


/* Pestaña */

.nubo-auth-card
.nubo-auth-tabs
button {
  position: relative !important;

  display: flex !important;

  align-items: center !important;
  justify-content: center !important;

  min-height:
    45px !important;

  padding:
    0
    12px
    12px !important;

  border:
    0 !important;

  border-radius:
    9px
    9px
    0
    0 !important;

  color:
    #77877f !important;

  background:
    transparent !important;

  box-shadow:
    none !important;

  font-size:
    12px !important;

  font-weight:
    720 !important;

  letter-spacing:
    -0.01em !important;

  cursor:
    pointer !important;

  transform:
    none !important;

  transition:
    color 170ms ease,
    background-color 170ms ease !important;
}


/* Indicador inferior */

.nubo-auth-card
.nubo-auth-tabs
button::after {
  content:
    "";

  position:
    absolute;

  right:
    28%;

  bottom:
    -1px;

  left:
    28%;

  height:
    2px;

  border-radius:
    999px
    999px
    0
    0;

  background:
    linear-gradient(
      90deg,
      #168b5c,
      #35b67e
    );

  opacity:
    0;

  transform:
    scaleX(0.45);

  transform-origin:
    center;

  transition:
    opacity 180ms ease,
    transform 220ms
    cubic-bezier(
      0.2,
      0.8,
      0.2,
      1
    );
}


/* Hover ligero */

.nubo-auth-card
.nubo-auth-tabs
button:hover {
  color:
    #256848 !important;

  background:
    linear-gradient(
      180deg,
      transparent,
      rgba(42, 174, 112, 0.035)
    ) !important;

  box-shadow:
    none !important;

  transform:
    none !important;
}


/* Estado activo */

.nubo-auth-card
.nubo-auth-tabs
button.is-active {
  color:
    #156744 !important;

  background:
    linear-gradient(
      180deg,
      transparent 35%,
      rgba(39, 176, 112, 0.055)
    ) !important;

  box-shadow:
    none !important;

  transform:
    none !important;
}


.nubo-auth-card
.nubo-auth-tabs
button.is-active::after {
  opacity:
    1;

  transform:
    scaleX(1);
}


/* Foco de teclado */

.nubo-auth-card
.nubo-auth-tabs
button:focus-visible {
  outline:
    2px solid
    rgba(35, 168, 105, 0.30) !important;

  outline-offset:
    -4px !important;
}


/* Modo oscuro */

html[data-theme="dark"]
.nubo-auth-card
.nubo-auth-tabs {
  border-bottom-color:
    #34443c !important;

  background:
    transparent !important;
}


html[data-theme="dark"]
.nubo-auth-card
.nubo-auth-tabs
button {
  color:
    #91a299 !important;

  background:
    transparent !important;
}


html[data-theme="dark"]
.nubo-auth-card
.nubo-auth-tabs
button:hover {
  color:
    #b8e8cd !important;

  background:
    linear-gradient(
      180deg,
      transparent,
      rgba(71, 194, 133, 0.055)
    ) !important;
}


html[data-theme="dark"]
.nubo-auth-card
.nubo-auth-tabs
button.is-active {
  color:
    #b8efd0 !important;

  background:
    linear-gradient(
      180deg,
      transparent 35%,
      rgba(71, 194, 133, 0.075)
    ) !important;
}


/* Móvil */

@media (max-width: 520px) {
  .nubo-auth-card
  .nubo-auth-tabs {
    gap:
      8px !important;

    margin-bottom:
      18px !important;
  }

  .nubo-auth-card
  .nubo-auth-tabs
  button {
    min-height:
      43px !important;

    padding-bottom:
      11px !important;

    font-size:
      11.5px !important;
  }

  .nubo-auth-card
  .nubo-auth-tabs
  button::after {
    right:
      24%;

    left:
      24%;
  }
}


/* Movimiento reducido */

@media (prefers-reduced-motion: reduce) {
  .nubo-auth-card
  .nubo-auth-tabs
  button,
  .nubo-auth-card
  .nubo-auth-tabs
  button::after {
    transition:
      none !important;
  }
}

/* NUBO_AUTH_TABS_REFINED_V2_END */

