@import '_content/Volo.Abp.PermissionManagement.Blazor/Volo.Abp.PermissionManagement.Blazor.p33ll9g8os.bundle.scp.css';

/* /Components/Globalloading.razor.rz.scp.css */
/* ---------------------------------------------------------
   Global Loading Overlay — backdrop chrome only.

   The inner globe-loader composition (rings, halo, animations)
   lives in /css/globe-loader.css so the same styles cover both
   the boot loader (App.razor) and this runtime overlay.

   This file owns the dimmed full-screen layer that wraps the
   loader during runtime busy states + the body scroll-lock.
--------------------------------------------------------- */

.global-loading-backdrop[b-ungvp87oih] {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: rgba(0, 0, 0, 0.4);
    backdrop-filter: blur(4px);
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 16px;
    z-index: 9999;
    animation: fadeIn-b-ungvp87oih 200ms ease-out;
}

@supports not (backdrop-filter: blur(4px)) {
    .global-loading-backdrop[b-ungvp87oih] {
        background-color: rgba(0, 0, 0, 0.5);
    }
}

@keyframes fadeIn-b-ungvp87oih {
    from { opacity: 0; }
    to   { opacity: 1; }
}

@media (prefers-reduced-motion: reduce) {
    .global-loading-backdrop[b-ungvp87oih] {
        animation: none;
    }
}

/* Prevent body scroll while the loader is up. */
body[data-busy="true"][b-ungvp87oih] {
    overflow: hidden;
}
/* /Pages/Index.razor.rz.scp.css */
/* Getting-Started */
.card-bg-image[b-ce1eyvj0jq] {
    pointer-events: none;
    position: absolute;
    width: 630px;
    height: auto;
    bottom: 0;
    right: 0;
    z-index: 1;
}
.starting-content[b-ce1eyvj0jq] {
    position: relative;
    z-index: 2;
}
/* Getting-Started End */

/* Write here your styles for the Index page */
/* /Pages/Public/Accounts/Login.razor.rz.scp.css */
/* Suppress Bootstrap validation icons */
[b-oj3028yf3c] .form-control.is-invalid,
[b-oj3028yf3c] input.is-invalid {
    background-image: none !important;
}

/* Page Container */
.auth[b-oj3028yf3c] {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 2rem 1rem;
    background: none;
    position: relative;
    overflow: hidden;
}

@keyframes slideUp-b-oj3028yf3c {
    from {
        opacity: 0;
        transform: translateY(30px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes fadeIn-b-oj3028yf3c {
    from {
        opacity: 0;
        transform: translateY(10px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* Card Container */
.auth__card[b-oj3028yf3c] {
    position: relative;
    width: 100%;
    max-width: 460px;
    background: #ffffff;
    border-radius: 24px;
    padding: 2.5rem 2rem;
    box-shadow: 0 8px 30px rgba(0, 0, 0, 0.08);
    border: 1px solid rgba(0, 0, 0, 0.06);
    animation: slideUp-b-oj3028yf3c 0.6s cubic-bezier(0.16, 1, 0.3, 1);
}

/* Step transition */
.auth .form-group[b-oj3028yf3c],
.auth .form-actions[b-oj3028yf3c],
.auth__tenant-badge[b-oj3028yf3c] {
    animation: fadeIn-b-oj3028yf3c 0.3s ease;
}

/* Success / Info Banner */
.auth__banner[b-oj3028yf3c] {
    border-radius: 12px;
    padding: 1rem 1.25rem;
    margin-bottom: 1.5rem;
    font-size: 0.875rem;
    line-height: 1.5;
}

.auth__banner--success[b-oj3028yf3c] {
    background: #f0fff4;
    border: 1px solid #9ae6b4;
    color: #276749;
}

/* Header */
.auth__header[b-oj3028yf3c] {
    text-align: center;
    margin-bottom: 2rem;
}

.auth__title[b-oj3028yf3c] {
    font-size: 1.75rem;
    font-weight: 700;
    color: #111827;
    margin-bottom: 0.5rem;
    letter-spacing: -0.02em;
}

.auth__subtitle[b-oj3028yf3c] {
    font-size: 0.95rem;
    color: #6B7280;
    font-weight: 400;
}

    .auth__subtitle span[b-oj3028yf3c] {
        color: #009cbd;
        font-weight: 600;
    }

/* Tenant badge - shown when single tenant auto-selected */
.auth__tenant-badge[b-oj3028yf3c] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.75rem 1rem;
    margin-bottom: 1.25rem;
    background: #f0f9ff;
    border: 1px solid #bae6fd;
    border-radius: 12px;
    font-size: 0.875rem;
    font-weight: 600;
    color: #0369a1;
}

    .auth__tenant-badge[b-oj3028yf3c]::before {
        content: '🏢';
        font-size: 1rem;
    }

/* Back link */
.auth__back[b-oj3028yf3c] {
    margin-top: 1rem;
    text-align: center;
}

/* Form Groups */
.auth .form-group[b-oj3028yf3c] {
    margin-bottom: 1.25rem;
}

    .auth .form-group label[b-oj3028yf3c] {
        display: block;
        font-size: 0.875rem;
        font-weight: 600;
        color: #2d3748;
        margin-bottom: 0.5rem;
    }

/* Input Fields */
.auth .form-control[b-oj3028yf3c] {
    width: 100%;
    height: 48px;
    padding: 0 1rem;
    font-size: 0.9375rem;
    color: #2d3748;
    background: #ffffff;
    border: 2px solid #e2e8f0;
    border-radius: 12px;
    transition: all 0.2s ease;
    box-sizing: border-box;
    appearance: none;
}

    .auth .form-control[b-oj3028yf3c]::placeholder {
        color: #a0aec0;
    }

    .auth .form-control:hover[b-oj3028yf3c] {
        border-color: #cbd5e0;
    }

    .auth .form-control:focus[b-oj3028yf3c] {
        outline: none;
        border-color: #009cbd;
        background: #ffffff;
        box-shadow: 0 0 0 4px rgba(0, 156, 189, 0.12);
    }

/* Select dropdown */
select.form-control[b-oj3028yf3c] {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%23718096' d='M1 1l5 5 5-5'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 1rem center;
    padding-right: 2.5rem;
    cursor: pointer;
}

/* Password Wrapper */
.auth .password-wrapper[b-oj3028yf3c] {
    position: relative;
}

    .auth .password-wrapper input[b-oj3028yf3c] {
        padding-right: 3rem;
    }

.auth .eye-button[b-oj3028yf3c] {
    position: absolute;
    right: 0.75rem;
    top: 50%;
    transform: translateY(-50%);
    width: 36px;
    height: 36px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: transparent;
    border: none;
    border-radius: 8px;
    cursor: pointer;
    font-size: 1.25rem;
    transition: background 0.2s ease;
    color: #718096;
}

    .auth .eye-button:hover[b-oj3028yf3c] {
        background: #f7fafc;
    }

/* Validation Messages */
.auth .validation-message[b-oj3028yf3c] {
    display: block;
    font-size: 0.8125rem;
    color: #e53e3e;
    margin-top: 0.375rem;
    font-weight: 500;
}

/* Form Error */
.auth .form-error[b-oj3028yf3c] {
    padding: 1rem;
    margin: 0 0 1.5rem 0;
    background: #fff5f5;
    border: 1px solid #feb2b2;
    border-radius: 12px;
    color: #c53030;
    font-size: 0.875rem;
    line-height: 1.5;
}

/* Resend success */
.auth .alert-success[b-oj3028yf3c] {
    padding: 0.875rem 1rem;
    margin-bottom: 1rem;
    background: #f0fff4;
    border: 1px solid #9ae6b4;
    border-radius: 12px;
    color: #276749;
    font-size: 0.875rem;
}

/* Submit Button */
.auth .form-actions[b-oj3028yf3c] {
    margin-top: 1.75rem;
}

.auth .btn-primary[b-oj3028yf3c] {
    width: 100%;
    height: 52px;
    padding: 0 2rem;
    font-size: 0.9375rem;
    font-weight: 600;
    color: #ffffff;
    background: #009cbd;
    border: none;
    border-radius: 12px;
    cursor: pointer;
    transition: all 0.3s ease;
    box-shadow: 0 4px 12px rgba(0, 156, 189, 0.35);
    position: relative;
    overflow: hidden;
}

    .auth .btn-primary[b-oj3028yf3c]::before {
        content: '';
        position: absolute;
        top: 0;
        left: -100%;
        width: 100%;
        height: 100%;
        background: linear-gradient(90deg, transparent, rgba(255,255,255,0.2), transparent);
        transition: left 0.5s ease;
    }

    .auth .btn-primary:hover:not(:disabled)[b-oj3028yf3c] {
        background: #007a94;
        transform: translateY(-2px);
        box-shadow: 0 10px 28px rgba(0, 156, 189, 0.35);
    }

        .auth .btn-primary:hover:not(:disabled)[b-oj3028yf3c]::before {
            left: 100%;
        }

    .auth .btn-primary:active:not(:disabled)[b-oj3028yf3c] {
        transform: translateY(0);
    }

    .auth .btn-primary:disabled[b-oj3028yf3c] {
        opacity: 0.6;
        cursor: not-allowed;
        transform: none;
        box-shadow: none;
    }

/* Footer Links */
.auth__links[b-oj3028yf3c] {
    margin-top: 1.5rem;
    padding-top: 1.5rem;
    border-top: 1px solid #e2e8f0;
    text-align: center;
    font-size: 0.875rem;
    color: #718096;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    flex-wrap: wrap;
}

.auth .link-button[b-oj3028yf3c] {
    color: #009cbd;
    text-decoration: none;
    font-weight: 600;
    transition: color 0.2s ease;
    background: none;
    border: none;
    cursor: pointer;
    font-size: 0.875rem;
    padding: 0;
}

    .auth .link-button:hover[b-oj3028yf3c] {
        color: #007a94;
        text-decoration: underline;
    }

/* Mobile Responsive */
@media (max-width: 576px) {
    .auth[b-oj3028yf3c] {
        padding: 1rem;
    }

    .auth__card[b-oj3028yf3c] {
        padding: 2rem 1.5rem;
        border-radius: 20px;
    }

    .auth__title[b-oj3028yf3c] {
        font-size: 1.5rem;
    }

    .auth .form-control[b-oj3028yf3c] {
        height: 44px;
        font-size: 1rem;
    }

    .auth .btn-primary[b-oj3028yf3c] {
        height: 48px;
    }
}

/* ── Dark mode (OS-level preference) ─────────────────────────────────── */
@media (prefers-color-scheme: dark) {
    .auth__card[b-oj3028yf3c] {
        background: rgba(26, 32, 44, 0.95);
        border-color: rgba(255, 255, 255, 0.08);
    }

    .auth__title[b-oj3028yf3c] { color: #f7fafc; }
    .auth__subtitle[b-oj3028yf3c] { color: #a0aec0; }

    .auth .form-group label[b-oj3028yf3c] { color: #e2e8f0; }

    .auth .form-control[b-oj3028yf3c] {
        background: #2d3748;
        border-color: #4a5568;
        color: #f7fafc;
    }

    .auth .form-control[b-oj3028yf3c]::placeholder { color: #718096; }

    .auth .form-control:focus[b-oj3028yf3c] {
        background: #2d3748;
        border-color: #009cbd;
        box-shadow: 0 0 0 4px rgba(0, 156, 189, 0.20);
    }

    /* Validation errors — bright enough to read on the dark card */
    .auth .validation-message[b-oj3028yf3c] { color: #fc8181; }

    .auth .form-error[b-oj3028yf3c] {
        background: rgba(197, 48, 48, 0.15);
        border-color: rgba(197, 48, 48, 0.40);
        color: #fc8181;
    }

    /* Success / info banners */
    .auth .alert-success[b-oj3028yf3c] {
        background: rgba(39, 103, 73, 0.20);
        border-color: #276749;
        color: #9ae6b4;
    }

    .auth__banner--success[b-oj3028yf3c] {
        background: rgba(39, 103, 73, 0.20);
        border-color: #276749;
        color: #9ae6b4;
    }

    /* Password-reveal eye button */
    .auth .eye-button[b-oj3028yf3c] { color: #a0aec0; }
    .auth .eye-button:hover[b-oj3028yf3c] { background: rgba(255, 255, 255, 0.08); }

    /* Disabled submit button — keep the teal visible, just dimmed */
    .auth .btn-primary:disabled[b-oj3028yf3c] {
        background: #009cbd;
        opacity: 0.45;
        color: rgba(255, 255, 255, 0.80);
        box-shadow: none;
    }

    /* Focus ring — white outline on dark card */
    .auth .btn-primary:focus-visible[b-oj3028yf3c] {
        outline: 2px solid rgba(255, 255, 255, 0.75);
        outline-offset: 2px;
    }

    /* Footer links divider and text */
    .auth__links[b-oj3028yf3c] {
        border-top-color: #4a5568;
        color: #a0aec0;
    }

    .auth .link-button[b-oj3028yf3c] { color: #63b3ed; }
    .auth .link-button:hover[b-oj3028yf3c] { color: #90cdf4; }

    /* Tenant badge & select dropdown arrow */
    .auth__tenant-badge[b-oj3028yf3c] {
        background: rgba(3, 105, 161, 0.20);
        border-color: #0369a1;
        color: #7dd3fc;
    }
}

/* ── Dark theme (app toggle — [data-theme="dark"] on <html>) ────────── */
/* Mirrors the media query above so the in-app theme switcher also works
   on public/auth pages when a user toggles dark while authenticated.    */
[data-theme="dark"] .auth__card[b-oj3028yf3c] {
    background: rgba(26, 32, 44, 0.95);
    border-color: rgba(255, 255, 255, 0.08);
}
[data-theme="dark"] .auth__title[b-oj3028yf3c] { color: #f7fafc; }
[data-theme="dark"] .auth__subtitle[b-oj3028yf3c] { color: #a0aec0; }
[data-theme="dark"] .auth .form-group label[b-oj3028yf3c] { color: #e2e8f0; }
[data-theme="dark"] .auth .form-control[b-oj3028yf3c] {
    background: #2d3748;
    border-color: #4a5568;
    color: #f7fafc;
}
[data-theme="dark"] .auth .form-control[b-oj3028yf3c]::placeholder { color: #718096; }
[data-theme="dark"] .auth .form-control:focus[b-oj3028yf3c] {
    background: #2d3748;
    border-color: #009cbd;
    box-shadow: 0 0 0 4px rgba(0, 156, 189, 0.20);
}
[data-theme="dark"] .auth .validation-message[b-oj3028yf3c] { color: #fc8181; }
[data-theme="dark"] .auth .form-error[b-oj3028yf3c] {
    background: rgba(197, 48, 48, 0.15);
    border-color: rgba(197, 48, 48, 0.40);
    color: #fc8181;
}
[data-theme="dark"] .auth .alert-success[b-oj3028yf3c] {
    background: rgba(39, 103, 73, 0.20);
    border-color: #276749;
    color: #9ae6b4;
}
[data-theme="dark"] .auth__banner--success[b-oj3028yf3c] {
    background: rgba(39, 103, 73, 0.20);
    border-color: #276749;
    color: #9ae6b4;
}
[data-theme="dark"] .auth .eye-button[b-oj3028yf3c] { color: #a0aec0; }
[data-theme="dark"] .auth .eye-button:hover[b-oj3028yf3c] { background: rgba(255, 255, 255, 0.08); }
[data-theme="dark"] .auth .btn-primary:disabled[b-oj3028yf3c] {
    background: #009cbd;
    opacity: 0.45;
    color: rgba(255, 255, 255, 0.80);
    box-shadow: none;
}
[data-theme="dark"] .auth .btn-primary:focus-visible[b-oj3028yf3c] {
    outline: 2px solid rgba(255, 255, 255, 0.75);
    outline-offset: 2px;
}
[data-theme="dark"] .auth__links[b-oj3028yf3c] {
    border-top-color: #4a5568;
    color: #a0aec0;
}
[data-theme="dark"] .auth .link-button[b-oj3028yf3c] { color: #63b3ed; }
[data-theme="dark"] .auth .link-button:hover[b-oj3028yf3c] { color: #90cdf4; }
[data-theme="dark"] .auth__tenant-badge[b-oj3028yf3c] {
    background: rgba(3, 105, 161, 0.20);
    border-color: #0369a1;
    color: #7dd3fc;
}
/* /Pages/Public/Accounts/Recovery/PasswordRecovery.razor.rz.scp.css */
.auth__description[b-gbc87ob0ys] {
    font-size: 0.9375rem;
    color: #6B7280;
    margin-bottom: 1.5rem;
    line-height: 1.6;
}

.auth__success[b-gbc87ob0ys] {
    text-align: center;
    padding: 1.5rem 0;
}

    .auth__success p[b-gbc87ob0ys] {
        font-size: 0.9375rem;
        color: #374151;
        margin-bottom: 0.75rem;
        line-height: 1.6;
    }

        .auth__success p:first-child[b-gbc87ob0ys] {
            font-weight: 600;
            color: #111827;
            font-size: 1rem;
        }
/* /Pages/Public/Accounts/Recovery/ResetPassword.razor.rz.scp.css */
/* Password rules checklist */
.password-rules[b-hvziu07nwq] {
    list-style: none;
    padding: 0.875rem 1rem;
    margin: 0 0 1.25rem 0;
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
}

.password-rules__heading[b-hvziu07nwq] {
    font-size: 0.8125rem;
    font-weight: 600;
    color: #6b7280;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    margin-bottom: 0.5rem;
}

.password-rule[b-hvziu07nwq] {
    font-size: 0.875rem;
    padding: 0.2rem 0;
    transition: color 0.15s ease;
}

.password-rule--unmet[b-hvziu07nwq] {
    color: #9ca3af;
}

.password-rule--met[b-hvziu07nwq] {
    color: #059669;
}

/* Inline field error (below input, not inside Bootstrap invalid-feedback) */
.field-error[b-hvziu07nwq] {
    font-size: 0.8125rem;
    color: #dc2626;
    margin-top: 0.375rem;
}

/* Centered header variant for success / error / expired states */
.auth__header--center[b-hvziu07nwq] {
    text-align: center;
}

/* Status icons */
.auth__status-icon[b-hvziu07nwq] {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 56px;
    height: 56px;
    border-radius: 50%;
    margin: 0 auto 1.25rem;
    font-size: 1.75rem;
}

.auth__status-icon--success[b-hvziu07nwq] {
    background: #d1fae5;
    color: #059669;
}

.auth__status-icon--warning[b-hvziu07nwq] {
    background: #fef3c7;
    color: #d97706;
}

.auth__status-icon--error[b-hvziu07nwq] {
    background: #fee2e2;
    color: #dc2626;
}

/* Loading spinner */
.auth__spinner[b-hvziu07nwq] {
    display: flex;
    justify-content: center;
    margin-bottom: 1.25rem;
}
/* /Pages/Public/Accounts/Register.razor.rz.scp.css */
/* ---------------------------------------------------------
   Registration & Auth Pages
--------------------------------------------------------- */

[b-4aqswqv893] .form-control.is-invalid,
[b-4aqswqv893] .form-control.invalid,
[b-4aqswqv893] .form-check-input.is-invalid,
[b-4aqswqv893] .was-validated .form-control:invalid,
[b-4aqswqv893] input.is-invalid {
    background-image: none !important;
}

[b-4aqswqv893] .form-control.is-valid,
[b-4aqswqv893] .form-control.valid,
[b-4aqswqv893] .form-check-input.is-valid,
[b-4aqswqv893] .was-validated .form-control:valid,
[b-4aqswqv893] input.is-valid {
    background-image: none !important;
}


/* Page Container */
.auth[b-4aqswqv893] {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 2rem 1rem;
    background: none;
    position: relative;
    overflow: hidden;
}

@keyframes slideUp-b-4aqswqv893 {
    from {
        opacity: 0;
        transform: translateY(30px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* Card Container */
.auth__card[b-4aqswqv893] {
    position: relative;
    width: 100%;
    max-width: 460px;
    background: #ffffff;
    border-radius: 24px;
    padding: 2.5rem 2rem;
    box-shadow: 0 8px 30px rgba(0, 0, 0, 0.08);
    border: 1px solid rgba(0, 0, 0, 0.06);
    animation: slideUp-b-4aqswqv893 0.6s cubic-bezier(0.16, 1, 0.3, 1);
}

/* Header */
.auth__header[b-4aqswqv893] {
    text-align: center;
    margin-bottom: 2rem;
}

.auth__title[b-4aqswqv893] {
    font-size: 1.75rem;
    font-weight: 700;
    color: #111827;
    margin-bottom: 0.5rem;
    letter-spacing: -0.02em;
}

.auth__subtitle[b-4aqswqv893] {
    font-size: 0.95rem;
    color: #6B7280;
    font-weight: 400;
}

/* Form Groups */
.auth .form-group[b-4aqswqv893] {
    margin-bottom: 1.25rem;
}

    .auth .form-group label[b-4aqswqv893] {
        display: block;
        font-size: 0.875rem;
        font-weight: 600;
        color: #2d3748;
        margin-bottom: 0.5rem;
    }

/* Input Fields */
.auth .form-control[b-4aqswqv893] {
    width: 100%;
    height: 48px;
    padding: 0 1rem;
    font-size: 0.9375rem;
    color: #2d3748;
    background: #ffffff;
    border: 2px solid #e2e8f0;
    border-radius: 12px;
    transition: all 0.2s ease;
}

    .auth .form-control[b-4aqswqv893]::placeholder {
        color: #a0aec0;
    }

    .auth .form-control:hover[b-4aqswqv893] {
        border-color: #cbd5e0;
    }

    .auth .form-control:focus[b-4aqswqv893] {
        outline: none;
        border-color: #009cbd;
        background: #ffffff;
        box-shadow: 0 0 0 4px rgba(0, 156, 189, 0.12);
    }

    .auth .form-control.is-invalid[b-4aqswqv893] {
        border-color: #fc8181;
        background: #fff5f5;
    }

    .auth .form-control.is-valid[b-4aqswqv893] {
        border-color: #68d391;
    }

/* Password Wrapper */
.auth .password-wrapper[b-4aqswqv893] {
    position: relative;
}

    .auth .password-wrapper input[b-4aqswqv893] {
        padding-right: 3rem;
    }

.auth .eye-button[b-4aqswqv893] {
    position: absolute;
    right: 0.75rem;
    top: 50%;
    transform: translateY(-50%);
    width: 36px;
    height: 36px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: transparent;
    border: none;
    border-radius: 8px;
    cursor: pointer;
    font-size: 1.25rem;
    transition: background 0.2s ease;
    color: #718096;
}

    .auth .eye-button:hover[b-4aqswqv893] {
        background: #f7fafc;
    }

    .auth .eye-button:active[b-4aqswqv893] {
        background: #edf2f7;
    }

/* Password Policy Indicators */
.auth .password-policy[b-4aqswqv893] {
    list-style: none;
    padding: 0;
    margin: 0.75rem 0 0 0;
    display: grid;
    gap: 0.5rem;
}

    .auth .password-policy li[b-4aqswqv893] {
        display: flex;
        align-items: center;
        gap: 0.5rem;
        font-size: 0.8125rem;
        color: #718096;
        transition: all 0.3s ease;
    }

    .auth .password-policy .rule-icon[b-4aqswqv893] {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: 18px;
        height: 18px;
        border-radius: 50%;
        font-size: 0.75rem;
        font-weight: 600;
        transition: all 0.3s ease;
    }

    .auth .password-policy .rule-pending .rule-icon[b-4aqswqv893] {
        background: #edf2f7;
        color: #a0aec0;
    }

    .auth .password-policy .rule-ok[b-4aqswqv893] {
        color: #38a169;
    }

        .auth .password-policy .rule-ok .rule-icon[b-4aqswqv893] {
            background: #c6f6d5;
            color: #22543d;
        }

/* Checkboxes */
.auth .form-check[b-4aqswqv893] {
    display: flex;
    align-items: flex-start;
    gap: 0.75rem;
    margin-bottom: 1rem;
}

.auth .form-check-input[b-4aqswqv893] {
    width: 20px;
    height: 20px;
    margin-top: 0.125rem;
    border: 2px solid #cbd5e0;
    border-radius: 6px;
    cursor: pointer;
    transition: all 0.2s ease;
    flex-shrink: 0;
}

    .auth .form-check-input:checked[b-4aqswqv893] {
        background-color: #009cbd;
        border-color: #009cbd;
    }

    .auth .form-check-input:focus[b-4aqswqv893] {
        box-shadow: 0 0 0 4px rgba(0, 156, 189, 0.12);
    }

.auth .form-check-label[b-4aqswqv893] {
    font-size: 0.875rem;
    color: #4a5568;
    line-height: 1.5;
}

    .auth .form-check-label .link-button[b-4aqswqv893] {
        color: #009cbd;
        text-decoration: none;
        font-weight: 500;
        transition: color 0.2s ease;
    }

        .auth .form-check-label .link-button:hover[b-4aqswqv893] {
            color: #007a94;
            text-decoration: underline;
        }

/* Validation Messages */
.auth .validation-message[b-4aqswqv893] {
    display: block;
    font-size: 0.8125rem;
    color: #e53e3e;
    margin-top: 0.375rem;
    font-weight: 500;
}

/* Error List */
.auth .form-error[b-4aqswqv893] {
    list-style: none;
    padding: 1rem;
    margin: 0 0 1.5rem 0;
    background: #fff5f5;
    border: 1px solid #feb2b2;
    border-radius: 12px;
}

    .auth .form-error li[b-4aqswqv893] {
        color: #c53030;
        font-size: 0.875rem;
        line-height: 1.5;
    }

        .auth .form-error li:not(:last-child)[b-4aqswqv893] {
            margin-bottom: 0.5rem;
        }

/* Submit Button */
.auth .form-actions[b-4aqswqv893] {
    margin-top: 1.75rem;
}

.auth .btn-primary[b-4aqswqv893] {
    width: 100%;
    height: 52px;
    padding: 0 2rem;
    font-size: 0.9375rem;
    font-weight: 600;
    color: #ffffff;
    background: #009cbd;
    border: none;
    border-radius: 12px;
    cursor: pointer;
    transition: all 0.3s ease;
    box-shadow: 0 4px 12px rgba(0, 156, 189, 0.35);
    position: relative;
    overflow: hidden;
}

    .auth .btn-primary[b-4aqswqv893]::before {
        content: '';
        position: absolute;
        top: 0;
        left: -100%;
        width: 100%;
        height: 100%;
        background: linear-gradient(90deg, transparent, rgba(255,255,255,0.2), transparent);
        transition: left 0.5s ease;
    }

    .auth .btn-primary:hover:not(:disabled)[b-4aqswqv893] {
        background: #007a94;
        transform: translateY(-2px);
        box-shadow: 0 10px 28px rgba(0, 156, 189, 0.35);
    }

        .auth .btn-primary:hover:not(:disabled)[b-4aqswqv893]::before {
            left: 100%;
        }

    .auth .btn-primary:active:not(:disabled)[b-4aqswqv893] {
        transform: translateY(0);
    }

    .auth .btn-primary:disabled[b-4aqswqv893] {
        opacity: 0.6;
        cursor: not-allowed;
        transform: none;
        box-shadow: none;
    }

/* Footer Links */
.auth__links[b-4aqswqv893] {
    margin-top: 1.5rem;
    padding-top: 1.5rem;
    border-top: 1px solid #e2e8f0;
    text-align: center;
    font-size: 0.875rem;
    color: #718096;
}

    .auth__links a[b-4aqswqv893] {
        color: #009cbd;
        text-decoration: none;
        font-weight: 600;
        margin-left: 0.25rem;
        transition: color 0.2s ease;
    }

        .auth__links a:hover[b-4aqswqv893] {
            color: #007a94;
            text-decoration: underline;
        }

/* Mobile Responsive */
@media (max-width: 576px) {
    .auth[b-4aqswqv893] {
        padding: 1rem;
    }

    .auth__card[b-4aqswqv893] {
        padding: 2rem 1.5rem;
        border-radius: 20px;
    }

    .auth__title[b-4aqswqv893] {
        font-size: 1.5rem;
    }

    .auth .form-control[b-4aqswqv893] {
        height: 44px;
        font-size: 1rem;
    }

    .auth .btn-primary[b-4aqswqv893] {
        height: 48px;
    }
}

/* ── Dark mode (OS-level preference) ─────────────────────────────────── */
@media (prefers-color-scheme: dark) {
    .auth__card[b-4aqswqv893] {
        background: rgba(26, 32, 44, 0.95);
        border-color: rgba(255, 255, 255, 0.08);
    }

    .auth__title[b-4aqswqv893] { color: #f7fafc; }
    .auth__subtitle[b-4aqswqv893] { color: #a0aec0; }

    .auth .form-group label[b-4aqswqv893] { color: #e2e8f0; }

    .auth .form-control[b-4aqswqv893] {
        background: #2d3748;
        border-color: #4a5568;
        color: #f7fafc;
    }

    .auth .form-control[b-4aqswqv893]::placeholder { color: #718096; }

    .auth .form-control:focus[b-4aqswqv893] {
        background: #2d3748;
        border-color: #009cbd;
        box-shadow: 0 0 0 4px rgba(0, 156, 189, 0.20);
    }

    /* Invalid state on dark card */
    .auth .form-control.is-invalid[b-4aqswqv893] {
        border-color: #fc8181;
        background: rgba(197, 48, 48, 0.12);
    }

    /* Validation errors */
    .auth .validation-message[b-4aqswqv893] { color: #fc8181; }

    .auth .form-error[b-4aqswqv893] {
        background: rgba(197, 48, 48, 0.15);
        border-color: rgba(197, 48, 48, 0.40);
    }

    .auth .form-error li[b-4aqswqv893] { color: #fc8181; }

    /* Password-reveal eye button */
    .auth .eye-button[b-4aqswqv893] { color: #a0aec0; }
    .auth .eye-button:hover[b-4aqswqv893] { background: rgba(255, 255, 255, 0.08); }
    .auth .eye-button:active[b-4aqswqv893] { background: rgba(255, 255, 255, 0.12); }

    /* Password-policy rule indicators */
    .auth .password-policy li[b-4aqswqv893] { color: #a0aec0; }

    .auth .password-policy .rule-pending .rule-icon[b-4aqswqv893] {
        background: rgba(255, 255, 255, 0.10);
        color: #718096;
    }

    .auth .password-policy .rule-ok[b-4aqswqv893] { color: #68d391; }

    .auth .password-policy .rule-ok .rule-icon[b-4aqswqv893] {
        background: rgba(104, 211, 145, 0.15);
        color: #68d391;
    }

    /* Checkboxes */
    .auth .form-check-input[b-4aqswqv893] {
        border-color: #4a5568;
        background-color: #2d3748;
    }

    .auth .form-check-label[b-4aqswqv893] { color: #e2e8f0; }

    .auth .form-check-label .link-button[b-4aqswqv893] { color: #63b3ed; }
    .auth .form-check-label .link-button:hover[b-4aqswqv893] { color: #90cdf4; }

    /* Disabled submit button — keep teal visible, just dimmed */
    .auth .btn-primary:disabled[b-4aqswqv893] {
        background: #009cbd;
        opacity: 0.45;
        color: rgba(255, 255, 255, 0.80);
        box-shadow: none;
    }

    /* Focus ring — white outline on dark card */
    .auth .btn-primary:focus-visible[b-4aqswqv893] {
        outline: 2px solid rgba(255, 255, 255, 0.75);
        outline-offset: 2px;
    }

    /* Footer links */
    .auth__links[b-4aqswqv893] {
        border-top-color: #4a5568;
        color: #a0aec0;
    }

    .auth__links a[b-4aqswqv893] { color: #63b3ed; }
    .auth__links a:hover[b-4aqswqv893] { color: #90cdf4; }
}

/* ── Dark theme (app toggle — [data-theme="dark"] on <html>) ────────── */
[data-theme="dark"] .auth__card[b-4aqswqv893] {
    background: rgba(26, 32, 44, 0.95);
    border-color: rgba(255, 255, 255, 0.08);
}
[data-theme="dark"] .auth__title[b-4aqswqv893] { color: #f7fafc; }
[data-theme="dark"] .auth__subtitle[b-4aqswqv893] { color: #a0aec0; }
[data-theme="dark"] .auth .form-group label[b-4aqswqv893] { color: #e2e8f0; }
[data-theme="dark"] .auth .form-control[b-4aqswqv893] {
    background: #2d3748;
    border-color: #4a5568;
    color: #f7fafc;
}
[data-theme="dark"] .auth .form-control[b-4aqswqv893]::placeholder { color: #718096; }
[data-theme="dark"] .auth .form-control:focus[b-4aqswqv893] {
    background: #2d3748;
    border-color: #009cbd;
    box-shadow: 0 0 0 4px rgba(0, 156, 189, 0.20);
}
[data-theme="dark"] .auth .form-control.is-invalid[b-4aqswqv893] {
    border-color: #fc8181;
    background: rgba(197, 48, 48, 0.12);
}
[data-theme="dark"] .auth .validation-message[b-4aqswqv893] { color: #fc8181; }
[data-theme="dark"] .auth .form-error[b-4aqswqv893] {
    background: rgba(197, 48, 48, 0.15);
    border-color: rgba(197, 48, 48, 0.40);
}
[data-theme="dark"] .auth .form-error li[b-4aqswqv893] { color: #fc8181; }
[data-theme="dark"] .auth .eye-button[b-4aqswqv893] { color: #a0aec0; }
[data-theme="dark"] .auth .eye-button:hover[b-4aqswqv893] { background: rgba(255, 255, 255, 0.08); }
[data-theme="dark"] .auth .eye-button:active[b-4aqswqv893] { background: rgba(255, 255, 255, 0.12); }
[data-theme="dark"] .auth .password-policy li[b-4aqswqv893] { color: #a0aec0; }
[data-theme="dark"] .auth .password-policy .rule-pending .rule-icon[b-4aqswqv893] {
    background: rgba(255, 255, 255, 0.10);
    color: #718096;
}
[data-theme="dark"] .auth .password-policy .rule-ok[b-4aqswqv893] { color: #68d391; }
[data-theme="dark"] .auth .password-policy .rule-ok .rule-icon[b-4aqswqv893] {
    background: rgba(104, 211, 145, 0.15);
    color: #68d391;
}
[data-theme="dark"] .auth .form-check-input[b-4aqswqv893] {
    border-color: #4a5568;
    background-color: #2d3748;
}
[data-theme="dark"] .auth .form-check-label[b-4aqswqv893] { color: #e2e8f0; }
[data-theme="dark"] .auth .form-check-label .link-button[b-4aqswqv893] { color: #63b3ed; }
[data-theme="dark"] .auth .form-check-label .link-button:hover[b-4aqswqv893] { color: #90cdf4; }
[data-theme="dark"] .auth .btn-primary:disabled[b-4aqswqv893] {
    background: #009cbd;
    opacity: 0.45;
    color: rgba(255, 255, 255, 0.80);
    box-shadow: none;
}
[data-theme="dark"] .auth .btn-primary:focus-visible[b-4aqswqv893] {
    outline: 2px solid rgba(255, 255, 255, 0.75);
    outline-offset: 2px;
}
[data-theme="dark"] .auth__links[b-4aqswqv893] {
    border-top-color: #4a5568;
    color: #a0aec0;
}
[data-theme="dark"] .auth__links a[b-4aqswqv893] { color: #63b3ed; }
[data-theme="dark"] .auth__links a:hover[b-4aqswqv893] { color: #90cdf4; }
/* /Pages/Public/Privacy/PrivacyModal.razor.rz.scp.css */
/* Privacy Modal Styling */
.privacy-modal::deep .modal-dialog[b-zm8546guu7] {
    max-width: 1200px;
}

.privacy-modal::deep .modal-header[b-zm8546guu7] {
    border-bottom: 2px solid var(--color-border);
    padding: 20px 24px;
}

.privacy-modal__logo[b-zm8546guu7] {
    height: 40px;
    width: auto;
}

.privacy-modal::deep .modal-body[b-zm8546guu7] {
    padding: 0;
    max-height: calc(100vh - 200px);
    overflow-y: auto;
}

.privacy-modal__body[b-zm8546guu7] {
    padding: 32px 24px;
}

.privacy-modal::deep .modal-footer[b-zm8546guu7] {
    border-top: 2px solid var(--color-border);
    padding: 16px 24px;
    background-color: var(--color-bg-alt);
}

/* Adjust legal content for modal view */
.privacy-modal::deep .legal-content[b-zm8546guu7] {
    /* Single column in modal - TOC at top */
    grid-template-columns: 1fr;
    gap: 24px;
    padding: 0;
}

.privacy-modal::deep .legal-toc[b-zm8546guu7] {
    position: relative;
    top: 0;
    max-height: none;
}

.privacy-modal::deep .back-to-top[b-zm8546guu7] {
    display: none; /* Hide in modal - already scrollable */
}

/* Mobile adjustments */
@media (max-width: 768px) {
    .privacy-modal::deep .modal-dialog[b-zm8546guu7] {
        margin: 0.5rem;
        max-width: calc(100% - 1rem);
    }

    .privacy-modal__body[b-zm8546guu7] {
        padding: 24px 16px;
    }
}
/* /Pages/Public/Terms/TermsModal.razor.rz.scp.css */
/* Terms Modal Styling */
.terms-modal::deep .modal-dialog[b-sxbngzmtls] {
    max-width: 1200px;
}

.terms-modal::deep .modal-header[b-sxbngzmtls] {
    border-bottom: 2px solid var(--color-border);
    padding: 20px 24px;
}

.terms-modal__logo[b-sxbngzmtls] {
    height: 40px;
    width: auto;
}

.terms-modal::deep .modal-body[b-sxbngzmtls] {
    padding: 0;
    max-height: calc(100vh - 200px);
    overflow-y: auto;
}

.terms-modal__body[b-sxbngzmtls] {
    padding: 32px 24px;
}

.terms-modal::deep .modal-footer[b-sxbngzmtls] {
    border-top: 2px solid var(--color-border);
    padding: 16px 24px;
    background-color: var(--color-bg-alt);
}

/* Adjust legal content for modal view */
.terms-modal::deep .legal-content[b-sxbngzmtls] {
    /* Single column in modal - TOC at top */
    grid-template-columns: 1fr;
    gap: 24px;
    padding: 0;
}

.terms-modal::deep .legal-toc[b-sxbngzmtls] {
    position: relative;
    top: 0;
    max-height: none;
}

.terms-modal::deep .back-to-top[b-sxbngzmtls] {
    display: none; /* Hide in modal - already scrollable */
}

/* Mobile adjustments */
@media (max-width: 768px) {
    .terms-modal::deep .modal-dialog[b-sxbngzmtls] {
        margin: 0.5rem;
        max-width: calc(100% - 1rem);
    }

    .terms-modal__body[b-sxbngzmtls] {
        padding: 24px 16px;
    }
}
