/* /Components/Account/Pages/ForgotPassword.razor.rz.scp.css */
/* Modern Login Page Styles */

[b-xhzvk3gqeb] .content.px-4 {
    padding: 0 !important;
}

[b-xhzvk3gqeb] .page.no-menu .content {
    padding: 0 !important;
    height: 100vh;
    overflow: hidden;
}

/* Prevent any images from exceeding viewport and causing scrollbars */
.login-container img[b-xhzvk3gqeb] {
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
}

.login-container[b-xhzvk3gqeb] {
    display: grid;
    grid-template-columns: 1fr 1fr;
    min-height: 100vh;
    height: 100vh;
    max-height: 100vh;
    width: 100%;
    background: var(--cv-surface, #ffffff);
    margin: 0;
    padding: 0;
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    overflow: hidden;
}

/* Left Side - CORVENIA Promotional (50% width) */
.login-left-side[b-xhzvk3gqeb] {
    width: 100%;
    height: 100vh;
    max-height: 100vh;
    min-height: 100vh;
    padding: 0;
    margin: 0;
    background: var(--cv-login-left-side-background);
    /* background: transparent; */
    position: relative;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 3rem 4rem;
    z-index: 1;
}

/* Background decorative shapes */
.corvenia-background-shapes[b-xhzvk3gqeb] {
    display: none;
    position: absolute;
    bottom: 0;
    right: 0;
    width: 50%;
    height: 50%;
    background: radial-gradient(ellipse at bottom right, rgba(26, 100, 100, 0.3) 0%, transparent 60%);
    z-index: 0;
    pointer-events: none;
}

.corvenia-background-shapes[b-xhzvk3gqeb]::before {
    content: '';
    position: absolute;
    bottom: 5%;
    right: 5%;
    width: 250px;
    height: 250px;
    background: radial-gradient(circle, rgba(30, 130, 130, 0.25) 0%, transparent 70%);
    border-radius: 50%;
    filter: blur(50px);
}

.corvenia-background-shapes[b-xhzvk3gqeb]::after {
    content: '';
    position: absolute;
    bottom: 15%;
    right: 15%;
    width: 180px;
    height: 180px;
    background: radial-gradient(circle, rgba(25, 110, 110, 0.2) 0%, transparent 70%);
    border-radius: 50%;
    filter: blur(35px);
}

/* Promotional content container */
.corvenia-promo-content[b-xhzvk3gqeb] {
    position: relative;
    z-index: 2;
    display: flex;
    flex-direction: column;
    height: 100%;
    max-height: 100%;
    justify-content: center;
    gap: 1.5rem;
    color: white;
    max-width: 600px;
    overflow: hidden;
}

/* Logo Section */
.corvenia-logo-section[b-xhzvk3gqeb] {
    max-width: 300px;
    max-height: 120px;
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: flex-start;
}

.corvenia-logo-image[b-xhzvk3gqeb] {
    width: 100%;
    max-width: 300px;
    max-height: 120px;
    height: auto;
    margin-bottom: 2rem;
    display: block;
    object-fit: contain;
    object-position: left center;
}

.corvenia-tagline[b-xhzvk3gqeb] {
    font-size: 0.75rem;
    font-weight: 500;
    color: white;
    letter-spacing: 0.15em;
    text-transform: uppercase;
    margin: 0;
    /* font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif; */
}

/* Headline */
.corvenia-headline[b-xhzvk3gqeb] {
    margin-top: 0;
    margin-left: 1.5rem;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.corvenia-headline-line1[b-xhzvk3gqeb],
.corvenia-headline-line2[b-xhzvk3gqeb] {
    font-size: 3rem;
    font-weight: 400;
    line-height: 1.1;
    margin: 0.5rem 0;
    color: white;
    font-family: var(--cv-font-heading);
    letter-spacing: -0.02em;
}

.corvenia-headline-line2[b-xhzvk3gqeb] {
    margin-top: 0.5rem;
}

/* Description */
.corvenia-description[b-xhzvk3gqeb] {
    margin: 0.5rem 1.5rem;
}

.corvenia-description p[b-xhzvk3gqeb] {
    margin-top: 0rem;
    font-size: 1rem;
    /* line-height: 1.6; */
    color: white;
    margin: 0.5rem 0;
    /* font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif; */
    font-weight: 300;
}

/* Buttons */
.corvenia-buttons[b-xhzvk3gqeb] {
    display: flex;
    flex-wrap: wrap;
    margin: 0;
    /* gap: 0.75rem; */
}

.corvenia-btn[b-xhzvk3gqeb] {
    margin: 0.5rem 1.5rem;
    background: #2c2c2cb0;
    color: var(--white);
    border: 1px solid var(--cv-theme-border, #e0e0e0);
    padding: 0.5rem;
    border-radius: 0.5rem;
    font-size: 0.9375rem;
    /* font-weight: 500; */
    cursor: auto;
    transition: all 0.3s ease;
    white-space: nowrap;
}

.login-form-container[b-xhzvk3gqeb] {
    width: 100%;
    max-width: 450px;
}

/* Brand Section */
.brand-section[b-xhzvk3gqeb] {
    display: flex;
    align-items: center;
    margin-bottom: 3rem;
}

.brand-icon[b-xhzvk3gqeb] {
    margin-right: 5px;
    object-fit: contain;
}

.brand-title[b-xhzvk3gqeb] {
    font-size: 1.5rem;
    font-weight: 600;
    color: var(--primary);
    margin: 0;
}

/* Login Header */
.login-header[b-xhzvk3gqeb] {
    margin-bottom: 2rem;
    text-align: center;
}

.login-header h2[b-xhzvk3gqeb] {
    font-size: 2rem;
    font-weight: 300;
    color: var(--primary);
    margin: 0 0 0.75rem 0;
}

.login-subtitle[b-xhzvk3gqeb] {
    color: var(--secondary);
    font-size: 0.95rem;
    margin: 0;
    line-height: 1.5;
}

/* Form Styling */
.login-form[b-xhzvk3gqeb] {
    display: flex;
    flex-direction: column;
    /* gap: 1.5rem; */
}

.form-group[b-xhzvk3gqeb] {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}

.form-label[b-xhzvk3gqeb] {
    font-weight: 500;
    color: var(--cv-ink, #1D1D1D);
    font-size: 0.875rem;
    margin: 0;
}

.password-label-container[b-xhzvk3gqeb] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-top: 0.5rem;
}

.forgot-password-link[b-xhzvk3gqeb] {
    display: flex;
    justify-content: flex-end;
    font-size: 0.875rem;
    color: var(--primary);
    text-decoration: none;
    font-weight: 500;
    margin-top: 0.5rem;
}

.forgot-password-link:hover[b-xhzvk3gqeb] {
    color: var(--primary);
    text-decoration: underline;
}

.form-control[b-xhzvk3gqeb] {
    padding: 0.75rem 1rem;
    border: 1px solid var(--cv-theme-border, #d1d5db);
    border-radius: 0.375rem;
    font-size: 1rem;
    background-color: var(--cv-surface, #ffffff);
    transition: all 0.2s ease;
}

.form-control:focus[b-xhzvk3gqeb] {
    outline: none;
    border-color: var(--primary);
    box-shadow: 0 0 0 3px rgba(15, 36, 13, 0.1);
}

.form-control[b-xhzvk3gqeb]::placeholder {
    color: var(--cv-theme-muted, #9ca3af);
}

/* Remember Me */
.remember-me[b-xhzvk3gqeb] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    margin: 0.5rem 0;
}

.form-check-input[b-xhzvk3gqeb] {
    width: 1rem;
    height: 1rem;
    margin: 0;
}

.form-check-label[b-xhzvk3gqeb] {
    font-size: 0.875rem;
    color: var(--cv-theme-ink, #374151);
    margin: 0;
    cursor: pointer;
}

/* Login Button */
.btn-login[b-xhzvk3gqeb] {
    background: var(--primary);
    border: 1px solid var(--primary);
    color: var(--white);
    padding: 0.875rem 1.5rem;
    border-radius: 0.375rem;
    font-size: 1rem;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.2s ease;
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 48px;
}

.btn-login:hover:not(:disabled)[b-xhzvk3gqeb] {
    background: var(--primary);
    border-color: var(--primary);
    background: var(--cv-green-hover);
    border-color: var(--cv-green-hover);
}

.btn-login:disabled[b-xhzvk3gqeb] {
    opacity: 0.7;
    cursor: not-allowed;
    transform: none;
    box-shadow: none;
}

/* Signup Link */
.signup-link[b-xhzvk3gqeb] {
    text-align: center;
    font-size: 0.875rem;
    color: var(--cv-theme-muted, #6b7280);
    margin-top: 1rem;
}

.signup-link a[b-xhzvk3gqeb] {
    color: var(--primary);
    text-decoration: none;
    font-weight: 500;
}

.signup-link a:hover[b-xhzvk3gqeb] {
    color: var(--primary);
    text-decoration: underline;
}

/* Error Message */
.alert-danger[b-xhzvk3gqeb] {
    background-color: var(--cv-theme-surface, #fef2f2);
    border: 1px solid var(--cv-theme-error, #fecaca);
    color: var(--danger);
    padding: 0.75rem 1rem;
    border-radius: 0.375rem;
    font-size: 0.875rem;
    margin-bottom: 1rem;
}

.validation-message[b-xhzvk3gqeb] {
    color: var(--danger);
    font-size: 0.75rem;
    font-weight: 500;
    margin-top: 0.25rem;
}

/* Right Side - Login Form (50% width) */
.login-right-side[b-xhzvk3gqeb] {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 2rem;
    background: var(--cv-surface, #ffffff);
    min-height: 100vh;
    max-height: 100vh;
    overflow-y: auto;
    overflow-x: hidden;
}

.right-side-content[b-xhzvk3gqeb] {
    text-align: center;
    color: var(--white);
    max-width: 500px;
    z-index: 2;
    position: relative;
}

.right-side-title[b-xhzvk3gqeb] {
    font-size: 2.25rem;
    font-weight: 700;
    line-height: 1.2;
    margin-bottom: 2rem;
    text-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}

.right-side-image[b-xhzvk3gqeb] {
    margin-bottom: 2rem;
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    height: 300px;
    background: color-mix(in srgb, var(--cv-surface, #ffffff) 10%, transparent);
    border-radius: 1rem;
    backdrop-filter: blur(10px);
    border: 1px solid rgba(255, 255, 255, 0.2);
}

.hero-image[b-xhzvk3gqeb] {
    max-width: 100%;
    max-height: 100%;
    border-radius: 0.75rem;
    object-fit: cover;
}

/* Image Placeholder */
.image-placeholder[b-xhzvk3gqeb] {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 0.75rem;
    background: color-mix(in srgb, var(--cv-surface, #ffffff) 5%, transparent);
    border: 2px dashed rgba(255, 255, 255, 0.3);
}

.placeholder-content[b-xhzvk3gqeb] {
    text-align: center;
    color: rgba(255, 255, 255, 0.8);
}

.placeholder-icon[b-xhzvk3gqeb] {
    font-size: 3rem;
    margin-bottom: 1rem;
    opacity: 0.7;
}

.placeholder-text h4[b-xhzvk3gqeb] {
    font-size: 1.25rem;
    font-weight: 600;
    margin: 0 0 0.5rem 0;
    color: rgba(255, 255, 255, 0.9);
}

.placeholder-text p[b-xhzvk3gqeb] {
    font-size: 0.875rem;
    margin: 0;
    opacity: 0.7;
}

/* Floating Cards */
.decorative-elements[b-xhzvk3gqeb] {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    pointer-events: none;
}

.floating-card[b-xhzvk3gqeb] {
    position: absolute;
    background: color-mix(in srgb, var(--cv-surface, #ffffff) 15%, transparent);
    backdrop-filter: blur(10px);
    border: 1px solid rgba(255, 255, 255, 0.2);
    border-radius: 12px;
    padding: 1rem 1.25rem;
    color: var(--white);
    display: flex;
    align-items: center;
    gap: 0.75rem;
    font-size: 0.875rem;
    font-weight: 500;
    animation: float-b-xhzvk3gqeb 6s ease-in-out infinite;
    box-shadow: 0 8px 32px rgba(0, 0, 0, 0.1);
}

.floating-card i[b-xhzvk3gqeb] {
    font-size: 1.25rem;
    opacity: 0.9;
}

.card-1[b-xhzvk3gqeb] {
    top: 15%;
    right: 10%;
    animation-delay: 0s;
}

.card-2[b-xhzvk3gqeb] {
    bottom: 25%;
    left: 5%;
    animation-delay: 2s;
}

.card-3[b-xhzvk3gqeb] {
    top: 35%;
    left: 15%;
    animation-delay: 4s;
}

/* Floating Animation */
@keyframes float-b-xhzvk3gqeb {
    0%, 100% {
        transform: translateY(0px);
    }
    50% {
        transform: translateY(-20px);
    }
}

/* Login Right Side Image */
.login-right-side-image[b-xhzvk3gqeb] {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    border-radius: 0;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1;
}

/* Large Screen Optimizations */
@media (min-width: 1440px) {
    .login-left-side[b-xhzvk3gqeb] {
        padding: 4rem 6rem;
    }
    
    .corvenia-promo-content[b-xhzvk3gqeb] {
        max-width: 700px;
        gap: 2rem;
    }
    
    .corvenia-logo-section[b-xhzvk3gqeb] {
        max-width: 350px;
        max-height: 140px;
    }
    
    .corvenia-logo-image[b-xhzvk3gqeb] {
        max-width: 350px;
        max-height: 140px;
        margin-bottom: 2.5rem;
    }
    
    .corvenia-headline-line1[b-xhzvk3gqeb],
    .corvenia-headline-line2[b-xhzvk3gqeb] {
        font-size: 3.5rem;
    }
    
    .corvenia-description p[b-xhzvk3gqeb] {
        font-size: 1.125rem;
    }
    
    .corvenia-btn[b-xhzvk3gqeb] {
        padding: 0.5rem;
        font-size: 1rem;
    }
    
    .login-form-container[b-xhzvk3gqeb] {
        max-width: 500px;
    }
    
    .login-header h2[b-xhzvk3gqeb] {
        font-size: 2.25rem;
    }
    
    .login-subtitle[b-xhzvk3gqeb] {
        font-size: 1rem;
    }
}

@media (min-width: 1920px) {
    .login-left-side[b-xhzvk3gqeb] {
        padding: 5rem 8rem;
    }
    
    .corvenia-promo-content[b-xhzvk3gqeb] {
        max-width: 800px;
        gap: 2.5rem;
    }
    
    .corvenia-logo-section[b-xhzvk3gqeb] {
        max-width: 400px;
        max-height: 160px;
    }
    
    .corvenia-logo-image[b-xhzvk3gqeb] {
        max-width: 400px;
        max-height: 160px;
        margin-bottom: 3rem;
    }
    
    .corvenia-headline-line1[b-xhzvk3gqeb],
    .corvenia-headline-line2[b-xhzvk3gqeb] {
        font-size: 4rem;
    }
    
    .corvenia-description p[b-xhzvk3gqeb] {
        font-size: 1.25rem;
    }
    
    .corvenia-btn[b-xhzvk3gqeb] {
        padding: 0.5rem;
        font-size: 1.0625rem;
    }
    
    .login-form-container[b-xhzvk3gqeb] {
        max-width: 550px;
    }
    
    .login-header h2[b-xhzvk3gqeb] {
        font-size: 2.5rem;
    }
    
    .login-subtitle[b-xhzvk3gqeb] {
        font-size: 1.0625rem;
    }
}

/* Responsive Design */
@media (max-width: 1024px) {
    .login-left-side[b-xhzvk3gqeb] {
        padding: 2.5rem 3rem;
    }
    
    .corvenia-headline[b-xhzvk3gqeb] {
        margin-top: 3rem;
    }
    
    .corvenia-headline-line1[b-xhzvk3gqeb],
    .corvenia-headline-line2[b-xhzvk3gqeb] {
        font-size: 3.25rem;
    }
    
    .corvenia-logo-section[b-xhzvk3gqeb] {
        max-width: 250px;
        max-height: 100px;
    }
    
    .corvenia-logo-image[b-xhzvk3gqeb] {
        max-width: 250px;
        max-height: 100px;
    }
    
    .right-side-title[b-xhzvk3gqeb] {
        font-size: 1.875rem;
    }
    
    .floating-card[b-xhzvk3gqeb] {
        font-size: 0.8125rem;
        padding: 0.875rem 1rem;
    }
}

@media (max-width: 768px) {
    .login-container[b-xhzvk3gqeb] {
        grid-template-columns: 1fr;
        height: auto;
        min-height: 100vh;
        position: relative;
        overflow-y: auto;
        overflow-x: hidden;
    }
    
    .login-left-side[b-xhzvk3gqeb] {
        width: 100%;
        min-height: 50vh;
        height: auto;
        padding: 2rem 1.5rem;
        margin: 0;
    }
    
    .corvenia-promo-content[b-xhzvk3gqeb] {
        gap: 0.75rem;
    }
    
    .corvenia-logo-section[b-xhzvk3gqeb] {
        max-width: 200px;
        max-height: 80px;
    }
    
    .corvenia-logo-image[b-xhzvk3gqeb] {
        max-width: 200px;
        max-height: 80px;
        margin-bottom: 0.5rem;
    }
    
    .corvenia-tagline[b-xhzvk3gqeb] {
        font-size: 0.65rem;
    }
    
    .corvenia-headline[b-xhzvk3gqeb] {
        margin-top: 1.5rem;
    }
    
    .corvenia-headline-line1[b-xhzvk3gqeb],
    .corvenia-headline-line2[b-xhzvk3gqeb] {
        font-size: 2rem;
        margin: 0;
    }
    
    .corvenia-description[b-xhzvk3gqeb] {
        margin: 0.5rem 0;
    }
    
    .corvenia-description p[b-xhzvk3gqeb] {
        font-size: 0.9rem;
        margin: 0.25rem 0;
    }
    
    .corvenia-buttons[b-xhzvk3gqeb] {
        flex-direction: column;
        /* gap: 0.5rem; */
        margin-top: 0.5rem;
    }
    
    .corvenia-btn[b-xhzvk3gqeb] {
        width: 100%;
        margin: 0;
        padding: 0.5rem;
    }
    
    .corvenia-background-shapes[b-xhzvk3gqeb] {
    display: none;
        width: 60%;
        height: 30%;
    }
    
    .login-right-side[b-xhzvk3gqeb] {
        min-height: 50vh;
        padding: 1.5rem;
    }
    
    .login-form-container[b-xhzvk3gqeb] {
        max-width: 100%;
    }
    
    .brand-section[b-xhzvk3gqeb] {
        margin-bottom: 2rem;
        justify-content: center;
    }
    
    .login-header[b-xhzvk3gqeb] {
        margin-bottom: 1.5rem;
    }
    
    .login-header h2[b-xhzvk3gqeb] {
        font-size: 1.75rem;
    }
    
    .right-side-title[b-xhzvk3gqeb] {
        font-size: 1.5rem;
        margin-bottom: 1.5rem;
    }
    
    .right-side-image[b-xhzvk3gqeb] {
        height: 200px;
        margin-bottom: 1.5rem;
    }
    
    .floating-card[b-xhzvk3gqeb] {
        display: none;
    }
}

@media (max-width: 480px) {
    .login-left-side[b-xhzvk3gqeb] {
        padding: 1.5rem 1rem;
        min-height: 45vh;
    }
    
    .corvenia-promo-content[b-xhzvk3gqeb] {
        gap: 0.5rem;
    }
    
    .corvenia-logo-section[b-xhzvk3gqeb] {
        max-width: 180px;
        max-height: 70px;
    }
    
    .corvenia-logo-image[b-xhzvk3gqeb] {
        max-width: 180px;
        max-height: 70px;
        margin-bottom: 0.5rem;
    }
    
    .corvenia-tagline[b-xhzvk3gqeb] {
        font-size: 0.6rem;
        letter-spacing: 0.1em;
    }
    
    .corvenia-headline[b-xhzvk3gqeb] {
        margin-top: 1rem;
    }
    
    .corvenia-headline-line1[b-xhzvk3gqeb],
    .corvenia-headline-line2[b-xhzvk3gqeb] {
        font-size: 1.75rem;
        margin: 0;
    }
    
    .corvenia-description[b-xhzvk3gqeb] {
        margin: 0.5rem 0;
    }
    
    .corvenia-description p[b-xhzvk3gqeb] {
        font-size: 0.85rem;
        margin: 0.25rem 0;
    }
    
    .corvenia-buttons[b-xhzvk3gqeb] {
        flex-direction: column;
        /* gap: 0.5rem; */
        margin-top: 0.5rem;
    }
    
    .corvenia-btn[b-xhzvk3gqeb] {
        width: 100%;
        margin: 0;
        font-size: 0.875rem;
        padding: 0.5rem;
    }
    
    .login-right-side[b-xhzvk3gqeb] {
        padding: 1rem;
    }
    
    .login-header h2[b-xhzvk3gqeb] {
        font-size: 1.5rem;
    }
    
    .right-side-title[b-xhzvk3gqeb] {
        font-size: 1.25rem;
    }
    
    .brand-title[b-xhzvk3gqeb] {
        font-size: 1.25rem;
    }
}

/* Loading Spinner */
.spinner-border-sm[b-xhzvk3gqeb] {
    width: 1rem;
    height: 1rem;
    border-width: 0.125rem;
}

/* Focus Management - Accessibility */
.form-control:focus[b-xhzvk3gqeb],
.form-check-input:focus[b-xhzvk3gqeb],
.btn-login:focus[b-xhzvk3gqeb],
.btn-microsoft:focus[b-xhzvk3gqeb],
.mud-button-root:focus[b-xhzvk3gqeb] {
    outline: 2px solid var(--primary);
    outline-offset: 2px;
}


/* Ensure buttons are keyboard accessible */
button:focus[b-xhzvk3gqeb],
a:focus[b-xhzvk3gqeb],
input:focus[b-xhzvk3gqeb],
select:focus[b-xhzvk3gqeb],
textarea:focus[b-xhzvk3gqeb] {
    outline: 2px solid var(--primary);
    outline-offset: 2px;
}

/* Skip link for screen readers */
.skip-link[b-xhzvk3gqeb] {
    position: absolute;
    top: -40px;
    left: 0;
    background: var(--primary);
    color: white;
    padding: 8px;
    text-decoration: none;
    z-index: 100;
}

.skip-link:focus[b-xhzvk3gqeb] {
    top: 0;
}

/* ARIA live region styling */
[role="alert"][b-xhzvk3gqeb] {
    position: relative;
}

/* Ensure decorative images don't interfere with screen readers */
[aria-hidden="true"][b-xhzvk3gqeb] {
    pointer-events: none;
}

/* OR Divider */
.or-divider[b-xhzvk3gqeb] {
    position: relative;
    text-align: center;
    margin: 1.5rem 0;
}

.or-divider hr[b-xhzvk3gqeb] {
    border: none;
    border-top: 1px solid var(--cv-theme-border, #e0e0e0);
    margin: 0;
    width: 100%;
}

.or-divider .or-text[b-xhzvk3gqeb] {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    background: var(--cv-surface, #ffffff);
    padding: 0 0.75rem;
    color: var(--cv-theme-muted, #94A3B8);
    font-size: 0.875rem;
    font-weight: 500;
    text-transform: uppercase;
}

/* Microsoft Button */
.btn-microsoft[b-xhzvk3gqeb] {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0.75rem 1rem;
    background: var(--cv-theme-surface, #ffffff);
    border: 1px solid var(--cv-theme-border, #e0e0e0);
    border-radius: 0.375rem;
    transition: all 0.2s ease;
}

.btn-microsoft:hover[b-xhzvk3gqeb] {
    background: var(--cv-theme-raised, #f5f5f5);
    border-color: var(--cv-theme-border, #d0d0d0);
}

.microsoft-button-content[b-xhzvk3gqeb] {
    display: flex;
    align-items: center;
    gap: 0.75rem;
}

/* Microsoft Logo - 4 Colored Squares */
.microsoft-logo[b-xhzvk3gqeb] {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    grid-template-rows: repeat(2, 1fr);
    gap: 1px;
    width: 20px;
    height: 20px;
}

.microsoft-square[b-xhzvk3gqeb] {
    width: 100%;
    height: 100%;
}

.microsoft-square.square-red[b-xhzvk3gqeb] {
    background-color: var(--cv-theme-error-bg, #F25022);
}

.microsoft-square.square-green[b-xhzvk3gqeb] {
    background-color: #7FBA00;
}

.microsoft-square.square-blue[b-xhzvk3gqeb] {
    background-color: #00A4EF;
}

.microsoft-square.square-yellow[b-xhzvk3gqeb] {
    background-color: #FFB900;
}

/* Print Styles */
@media print {
    .login-container[b-xhzvk3gqeb] {
        display: none;
    }
}
/* /Components/Account/Pages/Register.razor.rz.scp.css */
/* Modern Login Page Styles */

[b-2s08anz9zb] .content.px-4 {
    padding: 0 !important;
}

[b-2s08anz9zb] .page.no-menu .content {
    padding: 0 !important;
    height: 100vh;
    overflow: hidden;
}

/* Prevent any images from exceeding viewport and causing scrollbars */
.login-container img[b-2s08anz9zb] {
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
}

.login-container[b-2s08anz9zb] {
    display: grid;
    grid-template-columns: 1fr 1fr;
    min-height: 100vh;
    height: 100vh;
    max-height: 100vh;
    width: 100%;
    background: var(--cv-surface, #ffffff);
    margin: 0;
    padding: 0;
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    overflow: hidden;
}

/* Left Side - CORVENIA Promotional (50% width) */
.login-left-side[b-2s08anz9zb] {
    width: 100%;
    height: 100vh;
    max-height: 100vh;
    min-height: 100vh;
    padding: 0;
    margin: 0;
    background: var(--cv-login-left-side-background);
    /* background: transparent; */
    position: relative;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 3rem 4rem;
    z-index: 1;
}

/* Background decorative shapes */
.corvenia-background-shapes[b-2s08anz9zb] {
    display: none;
    position: absolute;
    bottom: 0;
    right: 0;
    width: 50%;
    height: 50%;
    background: radial-gradient(ellipse at bottom right, rgba(26, 100, 100, 0.3) 0%, transparent 60%);
    z-index: 0;
    pointer-events: none;
}

.corvenia-background-shapes[b-2s08anz9zb]::before {
    content: '';
    position: absolute;
    bottom: 5%;
    right: 5%;
    width: 250px;
    height: 250px;
    background: radial-gradient(circle, rgba(30, 130, 130, 0.25) 0%, transparent 70%);
    border-radius: 50%;
    filter: blur(50px);
}

.corvenia-background-shapes[b-2s08anz9zb]::after {
    content: '';
    position: absolute;
    bottom: 15%;
    right: 15%;
    width: 180px;
    height: 180px;
    background: radial-gradient(circle, rgba(25, 110, 110, 0.2) 0%, transparent 70%);
    border-radius: 50%;
    filter: blur(35px);
}

/* Promotional content container */
.corvenia-promo-content[b-2s08anz9zb] {
    position: relative;
    z-index: 2;
    display: flex;
    flex-direction: column;
    height: 100%;
    max-height: 100%;
    justify-content: center;
    gap: 1.5rem;
    color: white;
    max-width: 600px;
    overflow: hidden;
}

/* Logo Section */
.corvenia-logo-section[b-2s08anz9zb] {
    max-width: 300px;
    max-height: 120px;
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: flex-start;
}

.corvenia-logo-image[b-2s08anz9zb] {
    width: 100%;
    max-width: 300px;
    max-height: 120px;
    height: auto;
    margin-bottom: 2rem;
    display: block;
    object-fit: contain;
    object-position: left center;
}

.corvenia-tagline[b-2s08anz9zb] {
    font-size: 0.75rem;
    font-weight: 500;
    color: white;
    letter-spacing: 0.15em;
    text-transform: uppercase;
    margin: 0;
    /* font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif; */
}

/* Headline */
.corvenia-headline[b-2s08anz9zb] {
    margin-top: 0;
    margin-left: 1.5rem;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.corvenia-headline-line1[b-2s08anz9zb],
.corvenia-headline-line2[b-2s08anz9zb] {
    font-size: 3rem;
    font-weight: 400;
    line-height: 1.1;
    margin: 0.5rem 0;
    color: white;
    font-family: var(--cv-font-heading);
    letter-spacing: -0.02em;
}

.corvenia-headline-line2[b-2s08anz9zb] {
    margin-top: 0.5rem;
}

/* Description */
.corvenia-description[b-2s08anz9zb] {
    margin: 0.5rem 1.5rem;
}

.corvenia-description p[b-2s08anz9zb] {
    margin-top: 0rem;
    font-size: 1rem;
    /* line-height: 1.6; */
    color: white;
    margin: 0.5rem 0;
    /* font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif; */
    font-weight: 300;
}

/* Buttons */
.corvenia-buttons[b-2s08anz9zb] {
    display: flex;
    flex-wrap: wrap;
    margin: 0;
    /* gap: 0.75rem; */
}

.corvenia-btn[b-2s08anz9zb] {
    margin: 0.5rem 1.5rem;
    background: #2c2c2cb0;
    color: var(--white);
    border: 1px solid var(--cv-theme-border, #e0e0e0);
    padding: 0.5rem;
    border-radius: 0.5rem;
    font-size: 0.9375rem;
    /* font-weight: 500; */
    cursor: auto;
    transition: all 0.3s ease;
    white-space: nowrap;
}

.login-form-container[b-2s08anz9zb] {
    width: 100%;
    max-width: 450px;
}

/* Brand Section */
.brand-section[b-2s08anz9zb] {
    display: flex;
    align-items: center;
    margin-bottom: 3rem;
}

.brand-icon[b-2s08anz9zb] {
    margin-right: 5px;
    object-fit: contain;
}

.brand-title[b-2s08anz9zb] {
    font-size: 1.5rem;
    font-weight: 600;
    color: var(--primary);
    margin: 0;
}

/* Login Header */
.login-header[b-2s08anz9zb] {
    margin-bottom: 2rem;
    text-align: center;
}

.login-header h2[b-2s08anz9zb] {
    font-size: 2rem;
    font-weight: 300;
    color: var(--primary);
    margin: 0 0 0.75rem 0;
}

.login-subtitle[b-2s08anz9zb] {
    color: var(--secondary);
    font-size: 0.95rem;
    margin: 0;
    line-height: 1.5;
}

/* Form Styling */
.login-form[b-2s08anz9zb] {
    display: flex;
    flex-direction: column;
    /* gap: 1.5rem; */
}

.form-group[b-2s08anz9zb] {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}

.form-label[b-2s08anz9zb] {
    font-weight: 500;
    color: var(--cv-ink, #000000);
    font-size: 0.875rem;
    margin: 0;
}

.password-label-container[b-2s08anz9zb] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-top: 0.5rem;
}

.forgot-password-link[b-2s08anz9zb] {
    display: flex;
    justify-content: flex-end;
    font-size: 0.875rem;
    color: var(--primary);
    text-decoration: none;
    font-weight: 500;
    margin-top: 0.5rem;
}

.forgot-password-link:hover[b-2s08anz9zb] {
    color: var(--primary);
    text-decoration: underline;
}

.form-control[b-2s08anz9zb] {
    padding: 0.75rem 1rem;
    border: 1px solid var(--cv-theme-border, #d1d5db);
    border-radius: 0.375rem;
    font-size: 1rem;
    background-color: var(--cv-surface, #ffffff);
    transition: all 0.2s ease;
}

.form-control:focus[b-2s08anz9zb] {
    outline: none;
    border-color: var(--primary);
    box-shadow: 0 0 0 3px rgba(15, 36, 13, 0.1);
}

.form-control[b-2s08anz9zb]::placeholder {
    color: var(--cv-theme-muted, #9ca3af);
}

/* Remember Me */
.remember-me[b-2s08anz9zb] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    margin: 0.5rem 0;
}

.form-check-input[b-2s08anz9zb] {
    width: 1rem;
    height: 1rem;
    margin: 0;
}

.form-check-label[b-2s08anz9zb] {
    font-size: 0.875rem;
    color: var(--cv-theme-ink, #374151);
    margin: 0;
    cursor: pointer;
}

/* Login Button */
.btn-login[b-2s08anz9zb] {
    background: var(--primary);
    border: 1px solid var(--primary);
    color: var(--white);
    padding: 0.875rem 1.5rem;
    border-radius: 0.375rem;
    font-size: 1rem;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.2s ease;
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 48px;
}

.btn-login:hover:not(:disabled)[b-2s08anz9zb] {
    background: var(--primary);
    border-color: var(--primary);
    background: var(--cv-green-hover);
    border-color: var(--cv-green-hover);
}

.btn-login:disabled[b-2s08anz9zb] {
    opacity: 0.7;
    cursor: not-allowed;
    transform: none;
    box-shadow: none;
}

/* Signup Link */
.signup-link[b-2s08anz9zb] {
    text-align: center;
    font-size: 0.875rem;
    color: var(--cv-theme-muted, #6b7280);
    margin-top: 1rem;
}

.signup-link a[b-2s08anz9zb] {
    color: var(--primary);
    text-decoration: none;
    font-weight: 500;
}

.signup-link a:hover[b-2s08anz9zb] {
    color: var(--primary);
    text-decoration: underline;
}

/* Error Message */
.alert-danger[b-2s08anz9zb] {
    background-color: var(--cv-theme-surface, #fef2f2);
    border: 1px solid var(--cv-theme-error, #fecaca);
    color: var(--danger);
    padding: 0.75rem 1rem;
    border-radius: 0.375rem;
    font-size: 0.875rem;
    margin-bottom: 1rem;
}

.validation-message[b-2s08anz9zb] {
    color: var(--danger);
    font-size: 0.75rem;
    font-weight: 500;
    margin-top: 0.25rem;
}

/* Right Side - Login Form (50% width) */
.login-right-side[b-2s08anz9zb] {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 2rem;
    background: var(--cv-surface, #ffffff);
    min-height: 100vh;
    max-height: 100vh;
    overflow-y: auto;
    overflow-x: hidden;
}

.right-side-content[b-2s08anz9zb] {
    text-align: center;
    color: var(--white);
    max-width: 500px;
    z-index: 2;
    position: relative;
}

.right-side-title[b-2s08anz9zb] {
    font-size: 2.25rem;
    font-weight: 700;
    line-height: 1.2;
    margin-bottom: 2rem;
    text-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}

.right-side-image[b-2s08anz9zb] {
    margin-bottom: 2rem;
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    height: 300px;
    background: color-mix(in srgb, var(--cv-surface, #ffffff) 10%, transparent);
    border-radius: 1rem;
    backdrop-filter: blur(10px);
    border: 1px solid rgba(255, 255, 255, 0.2);
}

.hero-image[b-2s08anz9zb] {
    max-width: 100%;
    max-height: 100%;
    border-radius: 0.75rem;
    object-fit: cover;
}

/* Image Placeholder */
.image-placeholder[b-2s08anz9zb] {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 0.75rem;
    background: color-mix(in srgb, var(--cv-surface, #ffffff) 5%, transparent);
    border: 2px dashed rgba(255, 255, 255, 0.3);
}

.placeholder-content[b-2s08anz9zb] {
    text-align: center;
    color: rgba(255, 255, 255, 0.8);
}

.placeholder-icon[b-2s08anz9zb] {
    font-size: 3rem;
    margin-bottom: 1rem;
    opacity: 0.7;
}

.placeholder-text h4[b-2s08anz9zb] {
    font-size: 1.25rem;
    font-weight: 600;
    margin: 0 0 0.5rem 0;
    color: rgba(255, 255, 255, 0.9);
}

.placeholder-text p[b-2s08anz9zb] {
    font-size: 0.875rem;
    margin: 0;
    opacity: 0.7;
}

/* Floating Cards */
.decorative-elements[b-2s08anz9zb] {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    pointer-events: none;
}

.floating-card[b-2s08anz9zb] {
    position: absolute;
    background: color-mix(in srgb, var(--cv-surface, #ffffff) 15%, transparent);
    backdrop-filter: blur(10px);
    border: 1px solid rgba(255, 255, 255, 0.2);
    border-radius: 12px;
    padding: 1rem 1.25rem;
    color: var(--white);
    display: flex;
    align-items: center;
    gap: 0.75rem;
    font-size: 0.875rem;
    font-weight: 500;
    animation: float-b-2s08anz9zb 6s ease-in-out infinite;
    box-shadow: 0 8px 32px rgba(0, 0, 0, 0.1);
}

.floating-card i[b-2s08anz9zb] {
    font-size: 1.25rem;
    opacity: 0.9;
}

.card-1[b-2s08anz9zb] {
    top: 15%;
    right: 10%;
    animation-delay: 0s;
}

.card-2[b-2s08anz9zb] {
    bottom: 25%;
    left: 5%;
    animation-delay: 2s;
}

.card-3[b-2s08anz9zb] {
    top: 35%;
    left: 15%;
    animation-delay: 4s;
}

/* Floating Animation */
@keyframes float-b-2s08anz9zb {
    0%, 100% {
        transform: translateY(0px);
    }
    50% {
        transform: translateY(-20px);
    }
}

/* Login Right Side Image */
.login-right-side-image[b-2s08anz9zb] {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    border-radius: 0;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1;
}

/* Large Screen Optimizations */
@media (min-width: 1440px) {
    .login-left-side[b-2s08anz9zb] {
        padding: 4rem 6rem;
    }
    
    .corvenia-promo-content[b-2s08anz9zb] {
        max-width: 700px;
        gap: 2rem;
    }
    
    .corvenia-logo-section[b-2s08anz9zb] {
        max-width: 350px;
        max-height: 140px;
    }
    
    .corvenia-logo-image[b-2s08anz9zb] {
        max-width: 350px;
        max-height: 140px;
        margin-bottom: 2.5rem;
    }
    
    .corvenia-headline-line1[b-2s08anz9zb],
    .corvenia-headline-line2[b-2s08anz9zb] {
        font-size: 3.5rem;
    }
    
    .corvenia-description p[b-2s08anz9zb] {
        font-size: 1.125rem;
    }
    
    .corvenia-btn[b-2s08anz9zb] {
        padding: 0.5rem;
        font-size: 1rem;
    }
    
    .login-form-container[b-2s08anz9zb] {
        max-width: 500px;
    }
    
    .login-header h2[b-2s08anz9zb] {
        font-size: 2.25rem;
    }
    
    .login-subtitle[b-2s08anz9zb] {
        font-size: 1rem;
    }
}

@media (min-width: 1920px) {
    .login-left-side[b-2s08anz9zb] {
        padding: 5rem 8rem;
    }
    
    .corvenia-promo-content[b-2s08anz9zb] {
        max-width: 800px;
        gap: 2.5rem;
    }
    
    .corvenia-logo-section[b-2s08anz9zb] {
        max-width: 400px;
        max-height: 160px;
    }
    
    .corvenia-logo-image[b-2s08anz9zb] {
        max-width: 400px;
        max-height: 160px;
        margin-bottom: 3rem;
    }
    
    .corvenia-headline-line1[b-2s08anz9zb],
    .corvenia-headline-line2[b-2s08anz9zb] {
        font-size: 4rem;
    }
    
    .corvenia-description p[b-2s08anz9zb] {
        font-size: 1.25rem;
    }
    
    .corvenia-btn[b-2s08anz9zb] {
        padding: 0.5rem;
        font-size: 1.0625rem;
    }
    
    .login-form-container[b-2s08anz9zb] {
        max-width: 550px;
    }
    
    .login-header h2[b-2s08anz9zb] {
        font-size: 2.5rem;
    }
    
    .login-subtitle[b-2s08anz9zb] {
        font-size: 1.0625rem;
    }
}

/* Responsive Design */
@media (max-width: 1024px) {
    .login-left-side[b-2s08anz9zb] {
        padding: 2.5rem 3rem;
    }
    
    .corvenia-headline[b-2s08anz9zb] {
        margin-top: 3rem;
    }
    
    .corvenia-headline-line1[b-2s08anz9zb],
    .corvenia-headline-line2[b-2s08anz9zb] {
        font-size: 3.25rem;
    }
    
    .corvenia-logo-section[b-2s08anz9zb] {
        max-width: 250px;
        max-height: 100px;
    }
    
    .corvenia-logo-image[b-2s08anz9zb] {
        max-width: 250px;
        max-height: 100px;
    }
    
    .right-side-title[b-2s08anz9zb] {
        font-size: 1.875rem;
    }
    
    .floating-card[b-2s08anz9zb] {
        font-size: 0.8125rem;
        padding: 0.875rem 1rem;
    }
}

@media (max-width: 768px) {
    .login-container[b-2s08anz9zb] {
        grid-template-columns: 1fr;
        height: auto;
        min-height: 100vh;
        position: relative;
        overflow-y: auto;
        overflow-x: hidden;
    }
    
    .login-left-side[b-2s08anz9zb] {
        width: 100%;
        min-height: 50vh;
        height: auto;
        padding: 2rem 1.5rem;
        margin: 0;
    }
    
    .corvenia-promo-content[b-2s08anz9zb] {
        gap: 0.75rem;
    }
    
    .corvenia-logo-section[b-2s08anz9zb] {
        max-width: 200px;
        max-height: 80px;
    }
    
    .corvenia-logo-image[b-2s08anz9zb] {
        max-width: 200px;
        max-height: 80px;
        margin-bottom: 0.5rem;
    }
    
    .corvenia-tagline[b-2s08anz9zb] {
        font-size: 0.65rem;
    }
    
    .corvenia-headline[b-2s08anz9zb] {
        margin-top: 1.5rem;
    }
    
    .corvenia-headline-line1[b-2s08anz9zb],
    .corvenia-headline-line2[b-2s08anz9zb] {
        font-size: 2rem;
        margin: 0;
    }
    
    .corvenia-description[b-2s08anz9zb] {
        margin: 0.5rem 0;
    }
    
    .corvenia-description p[b-2s08anz9zb] {
        font-size: 0.9rem;
        margin: 0.25rem 0;
    }
    
    .corvenia-buttons[b-2s08anz9zb] {
        flex-direction: column;
        /* gap: 0.5rem; */
        margin-top: 0.5rem;
    }
    
    .corvenia-btn[b-2s08anz9zb] {
        width: 100%;
        margin: 0;
        padding: 0.5rem;
    }
    
    .corvenia-background-shapes[b-2s08anz9zb] {
    display: none;
        width: 60%;
        height: 30%;
    }
    
    .login-right-side[b-2s08anz9zb] {
        min-height: 50vh;
        padding: 1.5rem;
    }
    
    .login-form-container[b-2s08anz9zb] {
        max-width: 100%;
    }
    
    .brand-section[b-2s08anz9zb] {
        margin-bottom: 2rem;
        justify-content: center;
    }
    
    .login-header[b-2s08anz9zb] {
        margin-bottom: 1.5rem;
    }
    
    .login-header h2[b-2s08anz9zb] {
        font-size: 1.75rem;
    }
    
    .right-side-title[b-2s08anz9zb] {
        font-size: 1.5rem;
        margin-bottom: 1.5rem;
    }
    
    .right-side-image[b-2s08anz9zb] {
        height: 200px;
        margin-bottom: 1.5rem;
    }
    
    .floating-card[b-2s08anz9zb] {
        display: none;
    }
}

@media (max-width: 480px) {
    .login-left-side[b-2s08anz9zb] {
        padding: 1.5rem 1rem;
        min-height: 45vh;
    }
    
    .corvenia-promo-content[b-2s08anz9zb] {
        gap: 0.5rem;
    }
    
    .corvenia-logo-section[b-2s08anz9zb] {
        max-width: 180px;
        max-height: 70px;
    }
    
    .corvenia-logo-image[b-2s08anz9zb] {
        max-width: 180px;
        max-height: 70px;
        margin-bottom: 0.5rem;
    }
    
    .corvenia-tagline[b-2s08anz9zb] {
        font-size: 0.6rem;
        letter-spacing: 0.1em;
    }
    
    .corvenia-headline[b-2s08anz9zb] {
        margin-top: 1rem;
    }
    
    .corvenia-headline-line1[b-2s08anz9zb],
    .corvenia-headline-line2[b-2s08anz9zb] {
        font-size: 1.75rem;
        margin: 0;
    }
    
    .corvenia-description[b-2s08anz9zb] {
        margin: 0.5rem 0;
    }
    
    .corvenia-description p[b-2s08anz9zb] {
        font-size: 0.85rem;
        margin: 0.25rem 0;
    }
    
    .corvenia-buttons[b-2s08anz9zb] {
        flex-direction: column;
        /* gap: 0.5rem; */
        margin-top: 0.5rem;
    }
    
    .corvenia-btn[b-2s08anz9zb] {
        width: 100%;
        margin: 0;
        font-size: 0.875rem;
        padding: 0.5rem;
    }
    
    .login-right-side[b-2s08anz9zb] {
        padding: 1rem;
    }
    
    .login-header h2[b-2s08anz9zb] {
        font-size: 1.5rem;
    }
    
    .right-side-title[b-2s08anz9zb] {
        font-size: 1.25rem;
    }
    
    .brand-title[b-2s08anz9zb] {
        font-size: 1.25rem;
    }
}

/* Loading Spinner */
.spinner-border-sm[b-2s08anz9zb] {
    width: 1rem;
    height: 1rem;
    border-width: 0.125rem;
}

/* Focus Management - Accessibility */
.form-control:focus[b-2s08anz9zb],
.form-check-input:focus[b-2s08anz9zb],
.btn-login:focus[b-2s08anz9zb],
.btn-microsoft:focus[b-2s08anz9zb],
.mud-button-root:focus[b-2s08anz9zb] {
    outline: 2px solid var(--primary);
    outline-offset: 2px;
}


/* Ensure buttons are keyboard accessible */
button:focus[b-2s08anz9zb],
a:focus[b-2s08anz9zb],
input:focus[b-2s08anz9zb],
select:focus[b-2s08anz9zb],
textarea:focus[b-2s08anz9zb] {
    outline: 2px solid var(--primary);
    outline-offset: 2px;
}

/* Skip link for screen readers */
.skip-link[b-2s08anz9zb] {
    position: absolute;
    top: -40px;
    left: 0;
    background: var(--primary);
    color: white;
    padding: 8px;
    text-decoration: none;
    z-index: 100;
}

.skip-link:focus[b-2s08anz9zb] {
    top: 0;
}

/* ARIA live region styling */
[role="alert"][b-2s08anz9zb] {
    position: relative;
}

/* Ensure decorative images don't interfere with screen readers */
[aria-hidden="true"][b-2s08anz9zb] {
    pointer-events: none;
}

/* OR Divider */
.or-divider[b-2s08anz9zb] {
    position: relative;
    text-align: center;
    margin: 1.5rem 0;
}

.or-divider hr[b-2s08anz9zb] {
    border: none;
    border-top: 1px solid var(--cv-theme-border, #e0e0e0);
    margin: 0;
    width: 100%;
}

.or-divider .or-text[b-2s08anz9zb] {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    background: var(--cv-surface, #ffffff);
    padding: 0 0.75rem;
    color: var(--cv-theme-muted, #94A3B8);
    font-size: 0.875rem;
    font-weight: 500;
    text-transform: uppercase;
}

/* Microsoft Button */
.btn-microsoft[b-2s08anz9zb] {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0.75rem 1rem;
    background: var(--cv-theme-surface, #ffffff);
    border: 1px solid var(--cv-theme-border, #e0e0e0);
    border-radius: 0.375rem;
    transition: all 0.2s ease;
}

.btn-microsoft:hover[b-2s08anz9zb] {
    background: var(--cv-theme-raised, #f5f5f5);
    border-color: var(--cv-theme-border, #d0d0d0);
}

.microsoft-button-content[b-2s08anz9zb] {
    display: flex;
    align-items: center;
    gap: 0.75rem;
}

/* Microsoft Logo - 4 Colored Squares */
.microsoft-logo[b-2s08anz9zb] {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    grid-template-rows: repeat(2, 1fr);
    gap: 1px;
    width: 20px;
    height: 20px;
}

.microsoft-square[b-2s08anz9zb] {
    width: 100%;
    height: 100%;
}

.microsoft-square.square-red[b-2s08anz9zb] {
    background-color: var(--cv-theme-error-bg, #F25022);
}

.microsoft-square.square-green[b-2s08anz9zb] {
    background-color: #7FBA00;
}

.microsoft-square.square-blue[b-2s08anz9zb] {
    background-color: #00A4EF;
}

.microsoft-square.square-yellow[b-2s08anz9zb] {
    background-color: #FFB900;
}

/* Print Styles */
@media print {
    .login-container[b-2s08anz9zb] {
        display: none;
    }
}
/* /Components/Layout/NoMenuLayout.razor.rz.scp.css */
/* No Menu Layout Styles */
.page.no-menu[b-2e5mk9hgko] {
    position: relative;
    display: flex;
    flex-direction: column;
    min-height: 100vh;
}

    .page.no-menu main.full-width[b-2e5mk9hgko] {
        flex: 1;
        width: 100%;
    }

    .page.no-menu .content[b-2e5mk9hgko] {
        padding: 0 !important;
        height: 100vh;
        overflow: hidden;
    }

/* Blazor Error UI */
#blazor-error-ui[b-2e5mk9hgko] {
    /* background: lightyellow; */
    bottom: 0;
    box-shadow: 0 -1px 2px rgba(0, 0, 0, 0.2);
    display: none;
    left: 0;
    padding: 0.6rem 1.25rem 0.7rem 1.25rem;
    position: fixed;
    width: 100%;
    z-index: 2147483647;
}

    #blazor-error-ui .dismiss[b-2e5mk9hgko] {
        cursor: pointer;
        position: absolute;
        right: 0.75rem;
        top: 0.5rem;
    }
/* /Components/Pages/Login.razor.rz.scp.css */
/* Sign-in page. Branded brown page, light only: colours are fixed so the app's dark-mode class does not change it. */

/* Fonts ship in Web wwwroot/fonts/corvenia (same files as corvenia-brand.css); the public document does not load that sheet. */
@font-face {
    font-family: "Söhne";
    src: url("/fonts/corvenia/soehne-buch.otf") format("opentype");
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: "Söhne";
    src: url("/fonts/corvenia/soehne-kraftig.otf") format("opentype");
    font-weight: 500;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: "LT Museum";
    src: url("/fonts/corvenia/lt-museum-light.ttf") format("truetype");
    font-weight: 300 400;
    font-style: normal;
    font-display: swap;
}

.signin[b-d8jwi6cw8t] {
    position: fixed;
    inset: 0;
    overflow-x: hidden;
    overflow-y: auto;
    background: #5c3d33;
    color: #fff;
    color-scheme: light;
    font-family: "Söhne", "Helvetica Neue", Arial, sans-serif;
    -webkit-font-smoothing: antialiased;
}

.signin-stage[b-d8jwi6cw8t] {
    /* Larger screens than 1440 x 900 scale the whole laptop layout up (the script sets --signin-zoom).
       If the screen is wider than that, the 1440 px design stays centred: the frame is the space beside it. */
    zoom: var(--signin-zoom, 1);
    --signin-frame: max(0px, calc((100% - 1440px) / 2));
    position: relative;
    min-height: 100%;
    min-height: max(100%, 720px);
    overflow: hidden;
}

/* Drawn at the page's own size (W and H from the element), so cells and shapes keep their size on wide screens. */
.signin-field[b-d8jwi6cw8t] {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    display: block;
}

.signin-top[b-d8jwi6cw8t] {
    position: absolute;
    left: calc(var(--signin-frame) + 72px);
    right: calc(var(--signin-frame) + 96px);
    top: 56px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    pointer-events: none;
}

.signin-logo[b-d8jwi6cw8t] {
    display: block;
    height: 26px;
    width: auto;
}

.signin-env[b-d8jwi6cw8t] {
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: 12px;
    color: #f2e9e4;
    min-width: 0;
}

    .signin-env span[b-d8jwi6cw8t] {
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    .signin-env b[b-d8jwi6cw8t] {
        font-weight: 500;
        background: #ffd12e;
        color: #000;
        border-radius: 4px;
        padding: 2px 8px;
        font-size: 11px;
        white-space: nowrap;
    }

.signin-copy[b-d8jwi6cw8t] {
    position: absolute;
    left: calc(var(--signin-frame) + 72px);
    bottom: 84px;
    width: min(760px, calc(100% - 2 * var(--signin-frame) - 440px - 96px - 72px - 48px));
    pointer-events: none;
}

.signin-heads[b-d8jwi6cw8t] {
    position: relative;
    font-size: clamp(44px, 5vw, 72px);
    height: 2.1em;
}

    .signin-heads h1[b-d8jwi6cw8t] {
        position: absolute;
        left: 0;
        bottom: 0;
        margin: 0;
        font-family: "LT Museum", Georgia, serif;
        font-weight: 300;
        font-size: 1em;
        line-height: 1.02;
        letter-spacing: -.01em;
        color: #fff;
        opacity: 0;
    }

    /* A 12 s loop, 4 s per headline, in step with the field (Login.razor.js LOOP): free cells, bars, symbol. */
    .signin-heads .signin-head-a[b-d8jwi6cw8t] {
        animation: signin-head-b-d8jwi6cw8t 12s infinite both;
    }

    .signin-heads .signin-head-b[b-d8jwi6cw8t] {
        animation: signin-head-b-d8jwi6cw8t 12s 4s infinite both;
    }

    .signin-heads .signin-head-c[b-d8jwi6cw8t] {
        animation: signin-head-b-d8jwi6cw8t 12s 8s infinite both;
    }

@keyframes signin-head-b-d8jwi6cw8t {
    0% { opacity: 0; transform: translateY(14px); }
    3.75%, 28.75% { opacity: 1; transform: none; }
    33.33%, 100% { opacity: 0; transform: translateY(-10px); }
}

.signin-copy p[b-d8jwi6cw8t] {
    margin: 18px 0 0;
    font-size: 17px;
    line-height: 1.5;
    color: #f2e9e4;
    max-width: 460px;
}

.signin-card[b-d8jwi6cw8t] {
    position: absolute;
    right: calc(var(--signin-frame) + 96px);
    top: 50%;
    transform: translateY(-50%);
    width: 440px;
    background: #fff;
    color: #000;
    border-radius: 14px;
    padding: 48px 44px 40px;
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    outline: none;
}

    .signin-card h2[b-d8jwi6cw8t] {
        margin: 0;
        font-family: "LT Museum", Georgia, serif;
        font-weight: 300;
        font-size: 44px;
        line-height: 1.05;
        color: #000;
    }

.signin-lead[b-d8jwi6cw8t] {
    margin: 10px 0 28px;
    color: #616161;
    font-size: 15.5px;
}

.signin-alert[b-d8jwi6cw8t] {
    margin: -12px 0 20px;
    padding: 10px 12px;
    border-radius: 8px;
    font-size: 13px;
    line-height: 1.45;
}

.signin-alert-error[b-d8jwi6cw8t] {
    background: #fdecea;
    color: #8a1c1c;
}

.signin-alert-warning[b-d8jwi6cw8t] {
    background: #fff4d6;
    color: #6b4a00;
}

.signin-sso-stack[b-d8jwi6cw8t] {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

    .signin-sso-stack form[b-d8jwi6cw8t] {
        margin: 0;
    }

.signin-sso[b-d8jwi6cw8t] {
    width: 100%;
    height: 50px;
    border: 1px solid #000;
    border-radius: 8px;
    background: #fff;
    font: inherit;
    font-size: 15px;
    color: #000;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
}

    .signin-sso:hover[b-d8jwi6cw8t] {
        background: #f5f5f5;
    }

.signin-sso-logo[b-d8jwi6cw8t] {
    width: 20px;
    height: 20px;
    flex: 0 0 20px;
    display: block;
}

.signin-or[b-d8jwi6cw8t] {
    display: flex;
    align-items: center;
    gap: 12px;
    margin: 22px 0 18px;
    color: #616161;
    font-size: 12px;
}

    .signin-or[b-d8jwi6cw8t]::before,
    .signin-or[b-d8jwi6cw8t]::after {
        content: "";
        flex: 1;
        border-top: 1px solid #d9d9d9;
    }

.signin-form[b-d8jwi6cw8t] {
    display: flex;
    flex-direction: column;
    margin: 0;
}

.signin-input[b-d8jwi6cw8t] {
    position: relative;
    margin-bottom: 14px;
}

    .signin-input label[b-d8jwi6cw8t] {
        font-size: 12.5px;
        color: #252525;
        margin-bottom: 6px;
        display: block;
    }

    .signin-input input[b-d8jwi6cw8t] {
        width: 100%;
        box-sizing: border-box;
        height: 50px;
        border: 1px solid #8a8a8a;
        border-radius: 8px;
        padding: 0 14px;
        font: inherit;
        font-size: 15px;
        color: #000;
        background: #fff;
        outline: none;
    }

        .signin-input input:focus[b-d8jwi6cw8t] {
            border-color: #0f4529;
            box-shadow: 0 0 0 3px #8ff2c2;
        }

        .signin-input input[data-password-input][b-d8jwi6cw8t] {
            padding-right: 64px;
        }

.signin-show[b-d8jwi6cw8t] {
    position: absolute;
    right: 12px;
    bottom: 15px;
    padding: 0;
    font-size: 12.5px;
    color: #000;
    background: none;
    border: 0;
    font-family: inherit;
    text-decoration: underline;
    text-underline-offset: 3px;
    cursor: pointer;
}

    .signin-show[hidden][b-d8jwi6cw8t] {
        display: none;
    }

.signin-forgot[b-d8jwi6cw8t] {
    display: flex;
    justify-content: flex-end;
    margin: -2px 0 18px;
}

    .signin-forgot a[b-d8jwi6cw8t] {
        font-size: 12.5px;
        color: #000;
        text-underline-offset: 3px;
    }

.signin-go[b-d8jwi6cw8t] {
    height: 52px;
    border: 0;
    border-radius: 8px;
    background: #000;
    color: #fff;
    font: inherit;
    font-size: 15px;
    font-weight: 500;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    cursor: pointer;
}

    .signin-go:hover[b-d8jwi6cw8t] {
        background: #252525;
    }

    .signin-go svg[b-d8jwi6cw8t] {
        width: 16px;
        height: 16px;
        stroke: #fff;
        fill: none;
        stroke-width: 2;
        stroke-linecap: round;
        stroke-linejoin: round;
    }

.signin-go:focus-visible[b-d8jwi6cw8t],
.signin-sso:focus-visible[b-d8jwi6cw8t],
.signin-show:focus-visible[b-d8jwi6cw8t],
.signin-forgot a:focus-visible[b-d8jwi6cw8t] {
    outline: 2px solid #0f4529;
    outline-offset: 2px;
}

.signin-help[b-d8jwi6cw8t] {
    margin-top: 18px;
    font-size: 12.5px;
    color: #616161;
    text-align: center;
}

/* Copy and card no longer fit side by side: the headline copy hides and the card joins the flow. */
@media (max-width: 1023.98px) {
    .signin-stage[b-d8jwi6cw8t] {
        min-height: 100%;
        display: flex;
        flex-direction: column;
        align-items: center;
        padding: 0 16px;
    }

    .signin-top[b-d8jwi6cw8t] {
        position: relative;
        left: auto;
        right: auto;
        top: auto;
        width: 100%;
        max-width: 440px;
        padding: 32px 0 24px;
    }

    .signin-copy[b-d8jwi6cw8t] {
        display: none;
    }

    .signin-card[b-d8jwi6cw8t] {
        position: relative;
        right: auto;
        top: auto;
        transform: none;
        width: 100%;
        max-width: 440px;
        margin: auto 0;
    }
}

@media (max-width: 479.98px) {
    .signin-card[b-d8jwi6cw8t] {
        padding: 32px 20px 28px;
    }

        .signin-card h2[b-d8jwi6cw8t] {
            font-size: 34px;
        }

    .signin-env span[b-d8jwi6cw8t] {
        display: none;
    }
}

@media (prefers-reduced-motion: reduce) {
    .signin-heads h1[b-d8jwi6cw8t] {
        animation: none;
    }

    .signin-heads .signin-head-c[b-d8jwi6cw8t] {
        opacity: 1;
    }
}
