/* Authentication routes */
.login-page,
.signup-page {
    min-height: 100dvh;
}


/* Template presentation extracted from markup. */
.login-presentation-1 { display: block; }
.login-initially-hidden-1 { }
.sign-in-presentation-1 { display: block; }

/* Domain styles moved from the former monolithic stylesheet. */
/*login*/

.login .center-box {
      display: flex;
    position: relative;
    overflow: hidden;
    max-width:750px;
    width:750px;
    margin:0 auto;
}

.login-form-flow .disclaimer-box {
    background-color: #f8f9fa;
    border: 1px solid #dee2e6;
    border-radius: 8px;
    padding: 16px;
    margin-bottom: 20px;
    font-size: 14px;
    line-height: 1.4;
    color: #495057;
}

.login-form-flow .disclaimer-box__title {
    margin-bottom: 12px;
    font-weight: 600;
}

.login-form-flow .disclaimer-box__text {
    margin: 0;
}

.login-form-flow .disclaimer-box__list {
    margin: 12px 0 12px 20px;
    padding: 0;
}

.login-form-flow .disclaimer-box__item {
    margin-bottom: 8px;
}

.login-form-flow .disclaimer-box__item:last-child {
    margin-bottom: 0;
}

/* Dark mode styles for disclaimer box */
.dark-mode .login-form-flow .disclaimer-box {
    background-color: rgba(26, 27, 69, 0.81);
    border: 1px solid rgba(255, 255, 255, 0.2);
    color: #fff;
}

.login-flow .center-box{
    max-width:100%;
    width:100%;
    flex-direction: column;
}

.login .column {
    flex: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 20px;
}


.login .divider {
    position: absolute;
    top: 30px;
    bottom: 30px;
    left: 50%;
    width: 1px;
    background-color: rgba(21, 15, 77,.1);
    transform: translateX(-50%);
}

.dark-mode .login .divider{
    background-color:rgba(98, 108, 177, 0.24);
}

.login .divider::before {
    content: "or";
            position: absolute;
            top: 50%;
            left: 50%;
            transform: translate(-50%, -50%);
            background: #fff;
            width: 36px;
            height: 36px;
            font-size: 14px;
            color:#150f4d;
            border: 1px solid rgba(21, 15, 77,.1);
            border-radius: 50%;
            display: flex;
            align-items: center;
            justify-content: center;
            font-size:12px;
}

.dark-mode .login .divider::before{
    background:rgba(26, 27, 69, 0.81);
    color:#fff;
    border: solid 1px rgba(98, 108, 177, 0.24);
}

.login .email-row,.login-form-flow .password-row {
    width: 100%;
    max-width: 220px;
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.login-flow .email-row,.login-form-flow .password-row {
    max-width: 100%;
}

.login .email-row input,.login-form-flow .password-row input {
    padding: 10px 10px 10px 14px;
    border-radius: 10px;
  border: solid 1px rgba(98, 108, 177, 0.24);
    width: 100%;
    box-sizing: border-box;
    opacity: 0.7;
  line-height: 1.5;
    font-size:16px;
  color: #150f4d;
}

.dark-mode .login .email-row input,
.dark-mode .login-form-flow .password-row input,
.dark-mode .select2-container--default .select2-selection--multiple,
.dark-mode .popup input{
    background-color:transparent;
    opacity:1;
    color:#fff;
    border: solid 1px rgba(185,185,185,.7);
}

.email-row input:focus,
.password-row input:focus,
.password-row input.focus-live{
    border-color:#621fc8;
}

.login .email-row .error-text,
.login-form-flow .password-row .error-text,
.password-strength{
    color: #150f4d;
    padding-left:3px;
    font-size:9px;
    opacity:1;
    display:none;
}

.low-strength-color{
color:#ff4a23;
font-weight:500;
}

.medium-strength-color{
color:#8f66ce;
font-weight:500;
}

.dark-mode .medium-strength-color{
    color:#b29af2;
}

.high-strength-color{
color:#108a00;
font-weight:500;
}

.dark-mode .high-strength-color{
color:#18dc44;
}



.email-row.valid-field input,
.password-row.valid-field input,
.popup input.popup-valid-input,
.password-wrapper.valid-field input {
    border-color: #18dc44;

}



.email-row.error-field input,
.password-row.error-field input,
.popup input.popup-error-input,
.password-wrapper.error-field input {

    border-color: #ff4a23;

}

.email-row.error-field .error-text,
.password-row.error-field .error-text
 {
    display:block;
}

.login .email-row button,.login-form-flow button {
    padding: 10px;
    background-color: #e026c7;;
    color: #fff;
    border: none;
    border-radius: 10px;
    cursor: pointer;
    width: 100%;
    box-sizing: border-box;
    font-size:16px;
}

.login .email-container {
position:relative;
}




.login .google-btn{
    margin-bottom:20px;
}


.login .ms-button {
            background: #ffffff;
            color: #5e5e5e;
            border: 1px solid #8c8c8c;
            height: 41px;
            border-radius: 2px;
            font-size: 15px;
            font-family: 'Segoe UI', sans-serif;
            padding: 0 20px;
            display: inline-flex;
            align-items: center;
            gap: 12px;
            cursor: pointer;
            transition: background-color 0.2s ease;
}

.login  .ms-button:hover {
            background: #f3f2f1;
            border-color: #8c8c8c;
}

.login  .ms-button:active {
            background: #edebe9;
            border-color: #8c8c8c;
}

.login  .ms-button:focus {
            outline: 2px solid #0078d4;
            outline-offset: 2px;
}

.login  .ms-button:disabled {
            background: #f3f2f1;
            border-color: #c8c6c4;
            color: #a19f9d;
            cursor: not-allowed;
        }


.login  .ms-logo-red { fill: #f25022; }
.login   .ms-logo-blue { fill: #00a4ef; }
.login   .ms-logo-green { fill: #7fba00; }
.login      .ms-logo-yellow { fill: #ffb900; }



.dark-mode .login .ms-button {
    background: #2d2d2d;
    color: #ffffff;
    border: 1px solid #666666;
    transition: background-color 0.2s ease;
}

.dark-mode .login .ms-button:hover {
    background: #3d3d3d;
    border-color: #666666;
}

.dark-mode .login .ms-button:active {
    background: #484848;
    border-color: #666666;
}

.dark-mode .login .ms-button:focus {
    outline: 2px solid #60cdff;
    outline-offset: 2px;
}

.dark-mode .login .ms-button:disabled {
    background: #333333;
    border-color: #404040;
    color: #666666;
    cursor: not-allowed;
}


.dark-mode .login .ms-logo-red { fill: #f25022; }
.dark-mode .login .ms-logo-blue { fill: #00a4ef; }
.dark-mode .login .ms-logo-green { fill: #7fba00; }
.dark-mode .login .ms-logo-yellow { fill: #ffb900; }

.dark-mode .g_id_signin [role="button"]{
    background-color: #202124;
    color: #e8eaed;
    border: 1px solid #5e6272;
    box-shadow: 0 1px 3px rgba(0,0,0,0.2);
}


.g_id_signin [role="button"]:hover,
.g_id_signin [role="button"]:focus-visible {
    opacity: 0.92;
    box-shadow: 0 1px 5px rgba(0,0,0,0.15);
}


.login-form-flow{
    max-width: 600px;
    width:600px;
    margin: 0 auto;
}


.login-form-flow .form-input-wrapper{
    display: flex;
    justify-content: center;
    width: 100%;
    gap:20px;
    margin-bottom:12px;
}

.login-form-flow .forgot-password{
appearance: none;
background: none;
border: 0;
font-size: 15px;
line-height: 28px;
text-decoration: underline;
color: #e026c7;
font-weight: 500;
margin: 0px 0 20px 0;
padding: 0;
float:right;
cursor: pointer;
}

.login-flow .back-text{
    opacity: 0.702;
font-size: 14px;
line-height: 29px;
color: #150f4d;
font-weight: 300;
text-decoration: none;
position:absolute;
top:15px;
margin-bottom:12px;
}

.dark-mode .login-flow .back-text,.dark-mode .login-flow .back-text svg{
    color:#fff;
    fill:#fff;
}

.login-flow .back-text svg{
transform: rotate(180deg);
padding-left:3px;
}

.login-flow .password-container{
    position: relative;
}

.login-form-flow .password-row input{
    padding-right:30px;
}

.login-flow .toggle-password {

    position: absolute;
    right: 10px;
    top: 50%;
    transform: translateY(-50%);
    width: 15px;
    height: 15px;
  transform: translateY(-50%);
  background: url('/images/password-hide-8eeee3a51962bf9828aadc743c41b9a5.svg') no-repeat center;
  background-size: contain;
  border: none;
  padding: 0;
  cursor: pointer;

}

.dark-mode .login-flow .toggle-password{
    background: url('/images/password-hide-dark-44d568e6b4118fee7fa7c660d30e118f.svg') no-repeat center;
}

.login-flow .toggle-password.show {
    background: url('/images/password-show-1e1a997bf78f422998773bb54b06ad37.svg') no-repeat center;
    background-size: contain;
  }

  .dark-mode .login-flow .toggle-password.show{
    background: url('/images/password-show-dark-316ac3d7c6b482d974e43956f923b0a7.svg') no-repeat center;
}

/* Last sign-in method message styling */
.last-signin-message {
    margin: 16px 0 8px 0;
}

.last-signin-message p {
    font-size: 14px;
    font-weight: 400;
    line-height: 1.5;
    color: #666;
    margin: 0;
}

.last-signin-message strong {
    font-weight: 600;
    color: #150f4d;
}

.dark-mode .last-signin-message p {
    color: #aaa;
}

.dark-mode .last-signin-message strong {
    color: #fff;
}

.login .cta-compute-box {
    width: 750px;
    max-width: 750px;
}

.login-flow .cta-compute-box,
.login-flow .boxes {
    width: 72%;
    max-width: 72%;
}

.login .burst-mode .cta-content::after {
    left: calc(70% + 75px);
}

.login-flow .burst-mode .cta-content::after {
    left: calc(77% + 75px);
}

.login .cta-compute-box.burst-mode .cta-rocket-wrapper {
    padding: 12px;
}

.login .cta-compute-box.burst-mode .cta-rocket-icon {
    background-image: url(/images/saturn-9916db26a4c8691a5ae76a9fb3a0ca37.svg);
    background-size: 60px;
    width: 60px;
    height: 60px;
}

.dark-mode .login .cta-compute-box.burst-mode .cta-rocket-icon {
    background-image: url(/images/saturn-dark-8e4024cfbe94f64c1a0e19b016ef062b.svg);
}

.login-flow .cta-compute-box.cta-transmission-box .cta-rocket-icon {
    background-image: url(/images/transmission-74249e449c28df1865053b43485b6d45.svg);
}

.dark-mode .login-flow .cta-compute-box.cta-transmission-box .cta-rocket-icon {
    background-image: url(/images/transmission-dark-664c2b17facf4eb9918719bc4ab39d94.svg);
}

.login-flow .cta-transmission-box .transmission-action {
    appearance: none;
    background: none;
    border: 0;
    color: #ed14c8;
    cursor: pointer;
    font-size: 15px;
    font-weight: 500;
    line-height: 29px;
    padding: 0;
    text-decoration: underline;
    transition: font-weight .1s linear;
}

.login-flow .cta-transmission-box .transmission-action:hover,
.login-flow .cta-transmission-box .transmission-action:focus {
    font-weight: 700;
}

.dark-mode .login-flow .cta-transmission-box .transmission-action {
    color: #fff;
}

.login-flow .cta-compute-box.burst-mode .cta-rocket-icon {
    background-image: url(/images/orbit-855389d5e3e959d27b621c9e36039b85.svg);
}

.dark-mode .login-flow .cta-compute-box.burst-mode .cta-rocket-icon {
    background-image: url(/images/orbit-dark-mode-811451b6419aabd1ddfa7986357ba3f5.svg);
}

.signup-flow .cta-compute-box.burst-mode .cta-rocket-icon {
    background-image: url(/images/moon-rover-71a63cdf6afd0c98da8e6a4c222d7c0a.svg);
}

.dark-mode .signup-flow .cta-compute-box.burst-mode .cta-rocket-icon {
    background-image: url(/images/moon-rover-dark-fc0dce91a6f6b30adf79b9ddc1058d2d.svg);
}

.warpbox-exit-container {
    display: flex;
    justify-content: center;
    margin-top: 45px;
}

.warpbox-exit-button {
    align-items: center;
    background: var(--primary, #2a6ef1);
    border-radius: 999px;
    box-shadow: 0 8px 20px rgba(0, 0, 0, 0.12);
    color: #fff;
    display: inline-flex;
    font-size: 1rem;
    font-weight: 600;
    justify-content: center;
    padding: 12px 28px;
    text-decoration: none;
}

.warpbox-exit-button:hover,
.warpbox-exit-button:focus {
    filter: brightness(0.94);
    text-decoration: none;
}

@media (max-width: 991px) {
    .login-flow .cta-compute-box,
    .login-flow .boxes,
    .login .cta-compute-box,
    .login .boxes,
    .login .center-box {
        max-width: 100%;
        width: 100%;
    }

    .login .center-box {
        flex-direction: column;
        padding: 20px;
    }

    .login .divider {
        background-color: transparent;
        bottom: auto;
        margin: 20px 0;
        position: relative;
        top: auto;
        transform: none;
    }

    .login-form-flow .form-input-wrapper {
        flex-direction: column;
    }

    .login-form-flow {
        max-width: 80%;
        width: 80%;
    }

    .login-flow .back-text {
        position: relative;
        top: auto;
    }
}

@media (max-width: 640px) {
    .login-wrapper,
    .signup-wrapper {
        width: min(100%, 32rem);
        padding-inline: 1rem;
    }
}
