
      :root {
        --new-header-font-family: "Sen", Helvetica;
        --new-header-font-weight: 400;
        --new-header-font-size: 13px;
        --new-header-letter-spacing: 0px;
        --new-header-line-height: normal;
        --new-header-font-style: normal;
      }

      @import url("https://cdnjs.cloudflare.com/ajax/libs/meyer-reset/2.0/reset.min.css");
      * {
        -webkit-font-smoothing: antialiased;
        box-sizing: border-box;
      }
      html,
      body {
        margin: 0px;
        height: 100%;
      }
      /* a blue color as a generic focus style */
      button:focus-visible {
        outline: 2px solid #4a90e2 !important;
        outline: -webkit-focus-ring-color auto 5px !important;
      }
      a {
        text-decoration: none;
      }
      
      .logo {
        max-width: 150px; /* evita que crezca demasiado */
        height: auto;
      }

      .log-in-empty {
        background-color: #B0013B;
        display: grid;
        justify-items: center;
        align-items: start;
        width: 100vw;
        min-height: 100vh;
      }

      .log-in-empty .overlap-wrapper {
        background-color: #B0013B;
        overflow: hidden;
        width: 375px;
        height: 812px;
        margin-top: -150px;
      }

      .log-in-empty .overlap {
        position: relative;
        width: 556px;
        height: 906px;
        top: -94px;
        left: -83px;
      }

      .log-in-empty .BG-asset {
        position: absolute;
        width: 556px;
        height: 449px;
        top: 0;
        left: 0;
      }

      .log-in-empty .vector {
        position: absolute;
        width: 89px;
        height: 356px;
        top: 94px;
        left: 369px;
      }

      .log-in-empty .ellipse {
        position: absolute;
        width: 271px;
        height: 271px;
        top: -47px;
        left: -47px;
        border-radius: 135.5px;
        border: 94px dashed;
        border-color: #1e1e2e;
      }

      .log-in-empty .white-BG {
        position: absolute;
        width: 375px;
        height: 679px;
        top: 327px;
        left: 83px;
        background-color: #ffffff;
        border-radius: 24px 24px 24px 24px;
      }

      .log-in-empty .sign-up {
        position: absolute;
        top: 723px;
        left: 335px;
        font-family: "Sen-Bold", Helvetica;
        font-weight: 700;
        color: #b0013b;
        font-size: 14px;
        text-align: center;
        letter-spacing: 0;
        line-height: normal;
        width: 60px;
        margin-left: -10px
      }

      .log-in-empty .text-wrapper {
        position: absolute;
        height: 24px;
        top: 719px;
        left: 145px;
        font-family: "Sen-Regular", Helvetica;
        font-weight: 400;
        color: #646982;
        font-size: 16px;
        text-align: center;
        letter-spacing: 0;
        line-height: 24px;
        white-space: nowrap;
      }

      .log-in-empty .button {
        all: unset;
        box-sizing: border-box;
        position: absolute;
        width: 329px;
        height: 62px;
        top: 620px;
        left: 107px;
      }

      .log-in-empty .overlap-group {
        position: relative;
        width: 327px;
        height: 62px;
        background-color: #b0013b;
        border-radius: 12px;
      }

      .log-in-empty .log-in {
        position: absolute;
        top: 22px;
        left: 137px;
        font-family: "Sen-Bold", Helvetica;
        font-weight: 700;
        color: #ffffff;
        font-size: 14px;
        text-align: center;
        letter-spacing: 0;
        line-height: normal;
      }

      .log-in-empty .div {
        position: absolute;
        top: 571px;
        left: 322px;
        font-family: "Sen-Regular", Helvetica;
        font-weight: 400;
        color: #b0013b;
        font-size: 14px;
        letter-spacing: 0;
        line-height: normal;
      }

      .log-in-empty .pass {
        position: absolute;
        width: 329px;
        height: 86px;
        top: 461px;
        left: 107px;
      }

      .log-in-empty .div-2 {
        position: absolute;
        width: 329px;
        height: 62px;
        top: 24px;
        left: 0;
      }

      .log-in-empty .field {
        position: absolute;
        width: 329px;
        height: 62px;
        top: 0;
        left: 0;
      }

      .log-in-empty .div-wrapper {
        position: relative;
        width: 327px;
        height: 62px;
        background-image: url(./img/image.svg);
        background-size: 100% 100%;
      }

      .log-in-empty .text-wrapper-2 {
        position: absolute;
        width: 142px;
        top: 24px;
        left: 19px;
        font-family: "Sen-Regular", Helvetica;
        font-weight: 400;
        color: #a0a5ba;
        font-size: 14px;
        letter-spacing: 6.72px;
        line-height: normal;
        white-space: nowrap;
      }

      .log-in-empty .group {
        position: absolute;
        width: 19px;
        height: 14px;
        top: 24px;
        left: 288px;
      }

      .log-in-empty .overlap-2 {
        position: relative;
        height: 14px;
      }

      .log-in-empty .img {
        position: absolute;
        width: 4px;
        height: 4px;
        top: 5px;
        left: 8px;
      }

      .log-in-empty .vector-2 {
        position: absolute;
        width: 19px;
        height: 14px;
        top: 0;
        left: 0;
      }

      .log-in-empty .password {
        position: absolute;
        top: 0;
        left: 0;
        font-family: var(--new-header-font-family);
        font-weight: var(--new-header-font-weight);
        color: #31343d;
        font-size: var(--new-header-font-size);
        letter-spacing: var(--new-header-letter-spacing);
        line-height: var(--new-header-line-height);
        font-style: var(--new-header-font-style);
      }

      .log-in-empty .email {
        position: absolute;
        width: 329px;
        height: 86px;
        top: 351px;
        left: 107px;
      }

      .log-in-empty .overlap-group-2 {
        position: relative;
        width: 327px;
        height: 62px;
        background-image: url(./img/rectangle-1344.svg);
        background-size: 100% 100%;
      }

      .log-in-empty .text-wrapper-3 {
        position: absolute;
        top: 23px;
        left: 19px;
        font-family: "Sen-Regular", Helvetica;
        font-weight: 400;
        color: #a0a5ba;
        font-size: 14px;
        letter-spacing: 0;
        line-height: normal;
      }

      .log-in-empty .text-wrapper-4 {
        position: absolute;
        top: 0;
        left: 0;
        font-family: var(--new-header-font-family);
        font-weight: var(--new-header-font-weight);
        color: #31343d;
        font-size: var(--new-header-font-size);
        text-align: center;
        letter-spacing: var(--new-header-letter-spacing);
        line-height: var(--new-header-line-height);
        font-style: var(--new-header-font-style);
      }

      .log-in-empty .p {
        position: absolute;
        top: 250px;
        left: 125px;
        opacity: 0.85;
        font-family: "Sen-Regular", Helvetica;
        font-weight: 400;
        color: #ffffff;
        font-size: 16px;
        letter-spacing: 0;
        line-height: 26px;
        white-space: nowrap;
      }
      /* Original CSS code should be injected here */

      /* Additional styles for semantic HTML improvements */
      .log-in-empty .login-form {
        position: relative;
      }

      .log-in-empty .text-wrapper-3 {
        all: unset;
        box-sizing: border-box;
        position: absolute;
        top: 23px;
        left: 19px;
        font-family: "Sen-Regular", Helvetica;
        font-weight: 400;
        color: #a0a5ba;
        font-size: 14px;
        letter-spacing: 0;
        line-height: normal;
        background: transparent;
        border: none;
        outline: none;
        width: calc(100% - 38px);
      }

      .log-in-empty .text-wrapper-3:focus {
        color: #31343d;
      }

      .log-in-empty .text-wrapper-3::placeholder {
        color: #a0a5ba;
      }

      .log-in-empty .text-wrapper-2 {
        all: unset;
        box-sizing: border-box;
        position: absolute;
        width: 142px;
        top: 24px;
        left: 19px;
        font-family: "Sen-Regular", Helvetica;
        font-weight: 400;
        color: #a0a5ba;
        font-size: 14px;
        letter-spacing: 6.72px;
        line-height: normal;
        white-space: nowrap;
        background: transparent;
        border: none;
        outline: none;
      }

      .log-in-empty .text-wrapper-2:focus {
        color: #31343d;
      }

      .log-in-empty .text-wrapper-2::placeholder {
        color: #a0a5ba;
        letter-spacing: 6.72px;
      }

      .log-in-empty .group {
        all: unset;
        box-sizing: border-box;
        position: absolute;
        width: 19px;
        height: 14px;
        top: 24px;
        left: 288px;
        cursor: pointer;
        background: transparent;
        border: none;
        padding: 0;
      }

      .log-in-empty .group:hover {
        opacity: 0.8;
      }

      .log-in-empty .group:focus-visible {
        outline: 2px solid #4a90e2;
        outline-offset: 2px;
      }

      .log-in-empty .error-message {
        position: absolute;
        top: 90px;
        left: 0;
        font-family: "Sen-Regular", Helvetica;
        font-weight: 400;
        color: #b0013b;
        font-size: 12px;
        line-height: normal;
        display: none;
      }

      .log-in-empty .error-message.show {
        display: block;
      }

      .log-in-empty .signup-section {
        position: absolute;
        bottom: 840px; /* en vez de top fijo */
        left: 0%;
        transform: translateX(-50%);
        display: flex;
        align-items: center;
        gap: 8px;
        z-index: 20;
      }

      .log-in-empty .div:focus-visible {
        outline: 2px solid #4a90e2;
        outline-offset: 2px;
      }

      .log-in-empty .sign-up:focus-visible {
        outline: 2px solid #4a90e2;
        outline-offset: 2px;
      }

      .log-in-empty .button:focus-visible {
        outline: 2px solid #4a90e2;
        outline-offset: 2px;
      }

      .loading-icon {
        position: absolute;
        top: 695px; /* ajusta según necesidad */
        left: 250px;
        width: 32px;
        height: 32px;
        display: none; /* oculto por defecto */
      }

      .alert {
        position: absolute;
        top: 740px; /* ajusta según el diseño */
        left: 50%;
        transform: translateX(-50%);
        width: 300px;
        padding: 10px 15px;
        border-radius: 6px;
        font-family: "Sen-Regular", Helvetica;
        font-size: 14px;
        text-align: center;
        z-index: 20; /* aseguramos que quede sobre la tarjeta blanca */
      }

      .alert-danger {
        background: #f8d7da;
        color: #721c24;
        border: 1px solid #f5c6cb;
      }

      .alert-warning {
        background: #fff3cd;
        color: #856404;
        border: 1px solid #ffeeba;
      }

      .hidden {
        display: none !important;
      }

      /* Social login container */
      .social-login {
        position: absolute;
        top: 695px; /* justo debajo del botón LOG IN */
        left: 107px;
        width: 329px;
        display: flex;
        flex-direction: column;
        gap: 12px;
        z-index: 15;
      }

      /* Base social button */
      .social-btn {
        all: unset;
        box-sizing: border-box;
        width: 100%;
        height: 56px;
        background: #ffffff;
        border-radius: 12px;
        border: 1px solid #e5e7eb;
        display: flex;
        align-items: center;
        cursor: pointer;
        font-family: "Sen-Bold", Helvetica;
        font-size: 14px;
        color: #1f1f1f;
      }

      /* Icon */
      .social-btn img {
        width: 22px;
        height: 22px;
        margin-left: 18px;
      }

      /* Vertical divider */
      .social-btn .divider {
        width: 1px;
        height: 28px;
        background: #e5e7eb;
        margin: 0 16px;
      }

      /* Text */
      .social-btn .label {
        flex: 1;
        text-align: center;
        letter-spacing: 0.5px;
      }

      /* Hover / focus */
      .social-btn:hover {
        background: #f9fafb;
      }

      .social-btn:focus-visible {
        outline: 2px solid #4a90e2;
        outline-offset: 2px;
      }

.social-btn:disabled,
.social-btn[disabled] {
  opacity: 0.6;
  cursor: not-allowed;
  pointer-events: none;
}

/* Login page layout (relative/responsive) */
body.login-page-body {
  margin: 0;
  min-height: 100vh;
  font-family: "Sen", Helvetica, sans-serif;
  background: #b0013b;
}

body.login-page-body .login-page {
  min-height: 100vh;
  display: flex;
  flex-direction: column;
  background: linear-gradient(to bottom, #b0013b 0 34%, #ffffff 34% 100%);
}

body.login-page-body .login-hero {
  position: relative;
  padding: 56px 24px 34px;
  display: flex;
  justify-content: center;
  align-items: center;
}

body.login-page-body .login-back-btn {
  position: absolute;
  top: 18px;
  left: 20px;
  width: 34px;
  height: 34px;
  border: 0;
  border-radius: 50%;
  background: #ffffff;
  color: #4f5463;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 18px;
  line-height: 1;
  font-weight: 700;
  padding: 0;
  cursor: pointer;
}

body.login-page-body .login-back-btn:focus-visible {
  outline: 2px solid #4a90e2;
  outline-offset: 2px;
}

body.login-page-body .login-brand-logo {
  width: min(55vw, 210px);
  height: auto;
}

body.login-page-body .login-sheet {
  flex: 1;
  width: 100%;
  background: #ffffff;
  border-radius: 22px 22px 0 0;
}

body.login-page-body .login-sheet-inner {
  max-width: 420px;
  margin: 0 auto;
  padding: 24px 22px 36px;
  display: flex;
  flex-direction: column;
  gap: 14px;
}

body.login-page-body .login-alert {
  width: 100%;
  padding: 10px 12px;
  border-radius: 10px;
  font-size: 13px;
  line-height: 1.35;
}

body.login-page-body .login-alert-error {
  background: #fbe4e7;
  border: 1px solid #f4c7cd;
  color: #7a1026;
}

body.login-page-body .login-alert-success {
  background: #fff6dc;
  border: 1px solid #f4e2a7;
  color: #6f5600;
}

body.login-page-body .login-form {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

body.login-page-body .login-field {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

body.login-page-body .login-label {
  font-size: 13px;
  font-weight: 600;
  color: #31343d;
  letter-spacing: 0.01em;
}

body.login-page-body .login-input-wrap {
  display: flex;
  align-items: center;
  width: 100%;
  border: 1px solid #e2e5ec;
  border-radius: 12px;
  background: #ffffff;
  padding: 0 14px;
  min-height: 54px;
}

body.login-page-body .login-input {
  width: 100%;
  border: 0;
  outline: 0;
  padding: 14px 0;
  color: #222222;
  font-size: 16px;
  font-family: inherit;
  background: transparent;
}

body.login-page-body .login-input::placeholder {
  color: #a0a5ba;
}

body.login-page-body .login-input-password {
  letter-spacing: 0.2em;
}

body.login-page-body .login-input-wrap-password {
  justify-content: space-between;
  gap: 10px;
}

body.login-page-body .password-toggle {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 0;
  background: transparent;
  padding: 4px;
  margin: 0;
  cursor: pointer;
}

body.login-page-body .password-toggle img {
  width: 18px;
  height: 18px;
}

body.login-page-body .login-error {
  min-height: 16px;
  font-size: 12px;
  color: #b0013b;
}

body.login-page-body .login-forgot {
  text-align: right;
  font-size: 14px;
  color: #b0013b;
  margin-top: 2px;
}

body.login-page-body .login-submit {
  border: 0;
  width: 100%;
  min-height: 54px;
  border-radius: 12px;
  background: #b0013b;
  color: #ffffff;
  font-weight: 700;
  font-size: 20px;
  letter-spacing: 0.02em;
  cursor: pointer;
}

body.login-page-body .login-submit:disabled {
  opacity: 0.65;
}

body.login-page-body .social-login {
  position: static;
  width: 100%;
  display: flex;
  flex-direction: column;
  gap: 12px;
  margin-top: 2px;
}

body.login-page-body .social-btn {
  width: 100%;
  min-height: 50px;
}

body.login-page-body .social-btn .label {
  color: #787878;
  font-weight: 500;
  text-align: left;
}

body.login-page-body .loading-icon {
  width: 28px;
  height: 28px;
  margin: 4px auto 0;
  display: none;
}

body.login-page-body .signup-section {
  margin-top: 8px;
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 6px;
  font-size: 17px;
  line-height: 1.3;
}

body.login-page-body .signup-copy {
  color: #646982;
}

body.login-page-body .sign-up {
  color: #b0013b;
  font-weight: 700;
}

body.login-page-body .hidden {
  display: none !important;
}
