/* _content/Login/Pages/Shared/_Layout.cshtml.rz.scp.css */
/* Please see documentation at https://docs.microsoft.com/aspnet/core/client-side/bundling-and-minification
for details on configuring this project to bundle and minify static web assets. */

a.navbar-brand[b-0r35nnb0t7] {
  white-space: normal;
  text-align: center;
  word-break: break-all;
}

a[b-0r35nnb0t7] {
  color: #0077cc;
}

.btn-primary[b-0r35nnb0t7] {
  color: #fff;
  background-color: #1b6ec2;
  border-color: #1861ac;
}

.nav-pills .nav-link.active[b-0r35nnb0t7], .nav-pills .show > .nav-link[b-0r35nnb0t7] {
  color: #fff;
  background-color: #1b6ec2;
  border-color: #1861ac;
}

.border-top[b-0r35nnb0t7] {
  border-top: 1px solid #e5e5e5;
}
.border-bottom[b-0r35nnb0t7] {
  border-bottom: 1px solid #e5e5e5;
}

.box-shadow[b-0r35nnb0t7] {
  box-shadow: 0 .25rem .75rem rgba(0, 0, 0, .05);
}

button.accept-policy[b-0r35nnb0t7] {
  font-size: 1rem;
  line-height: inherit;
}

.footer[b-0r35nnb0t7] {
  position: absolute;
  bottom: 0;
  width: 100%;
  white-space: nowrap;
  line-height: 60px;
}


.login-container {
    background: white;
    border-radius: 15px;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
    padding: 40px 32px 10px;
    max-width: 448px;
    text-align: center;
    transition: all 0.3s ease;
    position: relative;
    width: 32rem;
  /* margin-bottom: 10rem;*/
}

.logo-container {
    margin-bottom: 24px; 
}

.header {
    margin-bottom: 30px;
}

.title {
    font-size: 28px !important; 
    font-weight: 400;
    color: #2d3748;
    margin-bottom: 6px; 
}

.subtitle {
    font-size: 18px;
    color: #718096;
    margin-bottom: 0;
}

.form-step {
    margin-bottom: 20px; 
}

.input-group {
    margin-bottom: 16px;
    text-align: left;
    display: block !important;
}

.input-label {
    display: block;
    font-size: 13px; 
    color: #4a5568;
    margin-bottom: 4px;
    font-weight: 500;
}

.input-field {
    width: 100%;
    padding: 10px 12px; 
    border: 1px solid #e2e8f0;
    border-radius: 6px;
    font-size: 14px; 
    color: #2d3748;
    background: white;
    transition: all 0.2s ease;
}

    .input-field:focus {
        outline: none;
        border-color: #ffcd0c;
        box-shadow: 0 0 0 3px rgba(255, 107, 53, 0.1);
    }

    .input-field:disabled {
        background: #f7fafc;
        color: #a0aec0;
    }

/* Checkbox styling for Remember Me */
.checkbox-group {
    display: flex;
    align-items: center;
    margin-bottom: 16px;
    font-size: 14px;
    color: #4a5568;
}

    .checkbox-group input[type="checkbox"] {
        width: 16px;
        height: 16px;
        margin-right: 8px;
        accent-color: #ffe272;
    }

.btn {
    background-color: #ffe272;
    border-color: #ffcd0c;
    color: #333333;
    font-weight: 500;
    width: 100%;
    padding: 10px 20px;
    border-radius: 6px;
    font-size: 14px;
    font-weight: 500;
    cursor: pointer;
    transition: all 0.2s ease;
    margin-bottom: 12px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
}
    .btn:focus, .btn:active:focus {
        box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08), 0 0 0 3px rgba(255, 205, 12, 0.2);
        background-color: #ffe272;
        border-color: #ffcd0c;
        color: #333333;
    }


    .btn:hover:not(:disabled) {
        background-color: #ffd83f;
        border-color: #cea300;
        color: #333333;
    }


    .btn:disabled {
        background: #eaeaea;
        cursor: not-allowed;
        transform: none;
        border: 1px solid #dddddd;
        box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
        color: #696969 !important;
    }

.btn-secondary {
    background: white;
    color: #4a5568;
    border: 1px solid #60688b;
    margin-bottom: 8px;
}

    .btn-secondary:hover:not(:disabled) {
        border-color: #60688b;
        color: #fff;
        background-color: #60688b;
    }


.input-field {
    border-radius: 6px !important;
}

/* Links styling */
.footer-links {
    margin-top: 16px;
    text-align: center;
}

.footer-link {
    color: #e63946;
    text-decoration: none;
    font-size: 13px;
    display: inline-block;
    margin: 0 4px;
}

    .footer-link:hover {
        text-decoration: underline;
    }

.link-separator {
    color: #cbd5e0;
    margin: 0 8px;
}




.divider {
    display: flex;
    align-items: center;
    text-align: center;
    color: #a39b9b;
    margin: 20px 0;
    font-size: 14px;
}

    .divider::before,
    .divider::after {
        content: '';
        flex: 1;
        border-bottom: 1px solid #e2e8f0;
    }
    .divider span {
        padding: 0 10px;
        background: #ffffff;
    }




/* Account status and new user section */
.account-status {
    text-align: center;
    margin-top: 20px;
    padding-top: 25px;
    border-top: 1px solid #e2e8f0;
}

.account-status-text {
    font-size: 13px;
    color: #718096;
    margin-bottom: 8px;
}

.alt-section .btn {
    background: white;
    color: #60688b;
    border: 1px solid #60688b !important;
}


.alt-section .btn:hover {
    border-color: #60688b;
    color: #fff;
    background-color: #60688b;
}

.account-status .btn {
    background: white;
    color: #60688b;
    border: 1px solid #60688b !important;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
}

    .account-status .btn:focus, .account-status .btn:active:focus {
        box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08), 0 0 0 3px rgba(96, 104, 139, 0.2);
    }

    .account-status .btn:hover {
        border-color: #60688b;
        color: #fff;
        background-color: #60688b;
    }

.loading {
    display: none;
    margin: 16px 0;
    justify-content: center;
}

.loading-spinner {
    width: 18px;  
    height: 18px;
    border: 2px solid #e2e8f0;
    border-top: 2px solid #ff6b35;
    border-radius: 50%;
    animation: spin 1s linear infinite;
    display: inline-block;
    margin-right: 8px;
}

@keyframes spin {
    0% {
        transform: rotate(0deg);
    }

    100% {
        transform: rotate(360deg);
    }
}



.input-field.error-focus {
    border-color: #dc2626 !important;
    box-shadow: 0 0 0 2px rgba(220, 38, 38, 0.2) !important;
    outline: none !important;
}



.social-login {
    display: flex;
    gap: 10px;  
    margin-bottom: 16px;
}

.social-btn {
    flex: 1;
    padding: 10px 8px;  
    border: 1px solid #e2e8f0;
    border-radius: 6px;
    background: white;
    cursor: pointer;warning
    transition: all 0.2s ease;
    font-size: 13px;  
    color: #4a5568;
}

    .social-btn:hover {
        border-color: #cbd5e0;
        box-shadow: 0 2px 4px rgba(0,0,0,0.05);
    }

.step-hidden {
    display: none;
}

#step1 {
    display: block;
}

.back-button {
    position: absolute;
    top: 16px;  
    left: 16px;
    background: none;
    border: none;
    color: #718096;
    cursor: pointer;
    font-size: 13px;  
    display: none;
}

    .back-button:hover {
        color: #4a5568;
    }

.account-type {
    display: flex;
    align-items: center;
    padding: 10px 12px;  
    background: #f7fafc;
    border-radius: 6px;
    margin-bottom: 16px;  
    font-size: 13px;  
    color: #4a5568;
}

.account-type-icon {
    width: 18px;  
    height: 18px;
    border-radius: 4px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-right: 10px;  
    font-size: 11px; 
    color: white;
}

.personal {
    background: #4299e1;
}

.business {
    background: #9f7aea;
}

.enterprise {
    background: #38b2ac;
}

/* Additional useful links section */
.help-links {
    margin-top: 24px;
    padding-top: 16px;
    border-top: 1px solid #e2e8f0;
    text-align: center;
    color: #718096;
    font-size: 12px;
}

    .help-links a {
        text-decoration: none;
        color: #718096;
        font-size: 12px;
    }

        .help-links a:hover {
            color: #4a5568;
            text-decoration: underline;
        }


/* Password input container */
.password-input-container {
    position: relative;
}

    .password-input-container .input-field {
        padding-right: 40px; /* Make room for the eye icon */
    }

/* Eye icon styling */
.password-toggle {
    position: absolute;
    right: 12px;
    top: 50%;
    transform: translateY(-50%);
    background: none;
    border: none;
    cursor: pointer;
    color: #718096;
    padding: 4px;
    width: 24px;
    height: 24px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 4px;
    transition: all 0.2s ease;
}

    .password-toggle:hover {
        color: #4a5568;
        background: rgba(113, 128, 150, 0.1);
    }

    .password-toggle:focus {
        outline: none;
        box-shadow: 0 0 0 2px rgba(255, 107, 53, 0.2);
    }


@keyframes spin {
    to {
        transform: rotate(360deg);
    }
}


.user-avatar {
    width: 64px;
    height: 64px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(132deg, #60688b 30%, #d3d3d3 100%);
    color: white;
    font-weight: 600;
    font-size: 1.4rem;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
}


.current-user {
    display: flex;
    align-items: center;
    gap: 2rem;
    padding: 1rem;
    background: #f5f5f5;
    border-radius: 8px;
    margin-top: 1.5rem;
    margin-bottom: 2.5rem;
    border-radius: 10px;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
}

.user-info {
    text-align: left;
    flex: 1;
}

.user-name {
    font-weight: 600;
    font-size: 1.3rem;
    width: 260px;
    overflow-x: hidden;
    text-overflow: ellipsis;
}

.user-email {
    color: #6b7280;
    font-size: 1.1rem;
    overflow-wrap: anywhere;
}

.password-requirements {

    opacity: 0;
    max-height: 0;
    margin-top: -16px;
    overflow: hidden;
    transition: max-height 0.5s ease-in-out, opacity 0.5s ease-in-out, margin-top 0.5s ease-in-out;
    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
    background: whitesmoke;
    padding: 10px 15px;
    border-radius: 15px !important;
}

    .password-requirements.show {
        opacity: 1;
        max-height: 500px;
        margin-top: 16px; 
    }

.password-strength-container {
    margin-bottom: 12px;
}

.password-strength-text {
    font-size: 14px;
    font-weight: 600;
    color: #374151;
    margin-bottom: 8px;
}

.strength-bar {
    width: 100%;
    height: 6px;
    background-color: #e5e7eb;
    border-radius: 3px;
    overflow: hidden;
}

.strength-fill {
    height: 100%;
    transition: width 0.3s ease, background-color 0.3s ease;
    border-radius: 3px;
}

.strength-weak {
    width: 33%;
    background-color: #dc2626;
}

.strength-medium {
    width: 66%;
    background-color: #f59e0b;
}

.strength-strong {
    width: 100%;
    background-color: #059669;
}

.requirement-list {
    list-style: none;
    padding: 0;
    margin: 0;
}

.requirement-item {
    display: flex;
    align-items: center;
    font-size: 14px;
    color: #374151;
    transition: opacity 0.5s ease-out, transform 0.3s ease;
    margin-bottom: 4px;
}
    .requirement-item.fading {
        opacity: 0.3;
        transform: scale(0.95);
    }

    .requirement-item.newly-met {
        background-color: rgba(5, 150, 105, 0.1);
        border-radius: 4px;
        padding: 2px 4px;
        transition: background-color 0.4s ease;
    }

    .requirement-item.met .requirement-check {
        transition: all 0.3s ease;
    }

    .requirement-item:not(.fading) {
        opacity: 1;
        transform: scale(1);
    }

.requirement-check {
    margin-right: 8px;
    font-size: 16px;
    width: 20px;
    font-weight: bold;
}

    .requirement-check.met {
        color: #059669;
    }

    .requirement-check.unmet {
        color: #d1d5db;
    }

.requirement-text {
    flex: 1;
}




@media (max-width: 492px) {
    .login-container {
        width: auto;
    }

    .current-user {
        display: block;
        justify-items: center;
    }

    .user-info {
        margin-top: 10px;
        text-align: center;
    }

    .login-body {
        justify-self: center;
    }

}


#forgotPasswordEmailInput {
    background: transparent;
    border: 1px solid transparent;
    justify-items: center;
    font-size: 18px;
    color: #718096;
    padding: 0px;
    margin-bottom: 12px;
}


#userEmail,
#resetUserEmail,
#verificationEmail,
#signupEmail {
    text-transform: lowercase;
}





.otp-signin-link {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    padding: 12px 16px;
    color: #3b82f6;
    text-decoration: none;
    border: 1px solid #e5e7eb;
    border-radius: 6px;
    font-size: 14px;
    font-weight: 500;
    transition: all 0.2s ease;
    background: white;
    cursor: pointer;
}

    .otp-signin-link:hover {
        background: #eff6ff;
        border-color: #3b82f6;
        color: #2563eb;
    }



/* All OTP Containers */
.otp-container {
    display: flex !important;
    justify-content: center;
    gap: 12px;
    margin: 24px 0;
    flex-wrap: wrap;
}

/* All OTP Digit Inputs */
.otp-digit {
    width: 48px !important;
    height: 56px !important;
    border: 2px solid #e2e8f0 !important;
    border-radius: 8px !important;
    font-size: 24px !important;
    font-weight: 600 !important;
    text-align: center !important;
    background: #ffffff !important;
    color: #1a202c !important;
    transition: all 0.2s ease !important;
    outline: none !important;
    box-sizing: border-box !important;
    padding: 0 !important;
    margin: 0 !important;
}

    .otp-digit:focus {
        border-color: #ffcd0c !important;
    }

/* Also target OTP inputs that might use different classes */
input[class*="otp"],
.otp-input,
#resetCode {
    width: 48px !important;
    height: 56px !important;
    border: 2px solid #e2e8f0 !important;
    border-radius: 8px !important;
    font-size: 24px !important;
    font-weight: 600 !important;
    text-align: center !important;
    background: #ffffff !important;
    color: #1a202c !important;
    transition: all 0.2s ease !important;
    outline: none !important;
}

.otp-digit:focus {
    border-color: #3182ce;
    box-shadow: 0 0 0 3px rgba(49, 130, 206, 0.1);
}

.otp-digit:hover {
    border-color: #cbd5e0;
}

.otp-digit.filled {
    border-color: #48bb78;
    background: #f7fafc;
}

/* Remove spinner arrows for number inputs */
.otp-digit::-webkit-outer-spin-button,
.otp-digit::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

.otp-digit[type=number] {
    -moz-appearance: textfield;
}

/* Responsive design */
@media (max-width: 480px) {
    .otp-container {
        gap: 8px;
    }

    .otp-digit {
        width: 40px;
        height: 48px;
        font-size: 20px;
    }
}


/** Google button style **/
.google-btn {
    /*    display: inline-flex;*/
    align-items: center;
    justify-content: center;
    gap: 10px;
    width: 100%;
    background-color: #ffffff;
    border: 0.2px solid #60688b;
    border-radius: 6px;
    padding: 10px 20px;
    font-size: 15px;
    color: #3c4043;
    font-weight: 500;
    cursor: pointer;
    transition: all 0.5s ease;
    /*    box-shadow: 0 1px 1px rgba(0,0,0,0.1);*/
}

    .google-btn img {
        width: 20px;
        height: 20px;
    }

    .google-btn:hover {
        background-color: #f8f9fa;
        box-shadow: 0 2px 4px rgba(0,0,0,0.1);
    }

    .google-btn:active {
        background-color: #f1f3f4;
        transform: scale(0.98);
    }

