body {
    min-height: 100vh;
}

.auth-page-shell {
    min-height: 100vh;
    background:
        radial-gradient(circle at top, rgba(32, 107, 196, 0.12), transparent 26rem),
        var(--tblr-bg-surface-secondary);
}

.auth-card {
    max-width: 28rem;
    margin: 0 auto;
}

.brand-mark {
    width: 2.25rem;
    height: 2.25rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 0.75rem;
    background: var(--tblr-primary);
    color: #fff;
    font-weight: 700;
    margin-right: 0.75rem;
}

.brand-mark-sm {
    width: 2rem;
    height: 2rem;
    border-radius: 0.6rem;
    margin-right: 0.5rem;
}

.theme-fab {
    position: fixed;
    right: 1rem;
    bottom: 4.5rem;
    z-index: 1085;
}

.theme-fab .dropdown-menu {
    min-width: 12rem;
}

.theme-option-label {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
}

[data-bs-theme='dark'] {
    --tblr-body-bg: #0a0a0a;
    --tblr-bg-surface: #171717;
    --tblr-bg-surface-secondary: #0a0a0a;
    --tblr-border-color: #262626;
    --tblr-primary: #10b981;
    --tblr-primary-rgb: 16, 185, 129;
    --tblr-primary-lt: rgba(16, 185, 129, 0.1);
    --tblr-body-color: #e5e5e5;
    --tblr-secondary-color: #a3a3a3;
    --tblr-card-bg: #171717;
    --tblr-card-border-color: #262626;
}

[data-bs-theme='dark'] .navbar {
    background: #0f0f0f;
    border-color: #262626;
}

[data-bs-theme='dark'] .card {
    background: #171717;
    border-color: #262626;
}

[data-bs-theme='dark'] .table {
    --tblr-table-bg: #171717;
    --tblr-table-border-color: #262626;
    --tblr-table-striped-bg: #1a1a1a;
}

[data-bs-theme='dark'] .page-header {
    border-color: #262626;
}

[data-bs-theme='dark'] .dropdown-menu {
    background: #171717;
    border-color: #262626;
}

[data-bs-theme='dark'] .dropdown-item:hover {
    background: #262626;
}

[data-bs-theme='dark'] .nav-tabs .nav-link.active {
    background: #171717;
    border-color: #262626 #262626 #171717;
    color: #10b981;
}

[data-bs-theme='dark'] .nav-tabs {
    border-color: #262626;
}

[data-bs-theme='dark'] .btn-primary {
    --tblr-btn-bg: #10b981;
    --tblr-btn-border-color: #10b981;
    --tblr-btn-hover-bg: #0d9668;
    --tblr-btn-hover-border-color: #0d9668;
    --tblr-btn-color: #000;
    --tblr-btn-hover-color: #000;
}

[data-bs-theme='dark'] .badge.bg-primary-lt {
    background: rgba(16, 185, 129, 0.1);
    color: #10b981;
}

[data-bs-theme='dark'] .text-primary {
    color: #10b981 !important;
}

[data-bs-theme='dark'] .brand-mark {
    background: #10b981;
}

[data-bs-theme='dark'] .auth-page-shell {
    background:
        radial-gradient(circle at top, rgba(16, 185, 129, 0.12), transparent 28rem),
        linear-gradient(180deg, #0a0a0a, #000);
}

.form-error-message,
.invalid-feedback,
.form-error-icon {
    color: var(--tblr-danger);
}

.form-control.is-invalid,
.was-validated .form-control:invalid {
    border-color: var(--tblr-danger);
}

.dropdown-item.active,
.dropdown-item:active {
    background: var(--tblr-primary-lt);
    color: var(--tblr-primary);
}
