html,
body {
    height: 100%;
}

body.login-page {
    align-items: center;
    background:
        radial-gradient(circle at 12% 18%, rgba(var(--bs-primary-rgb, 234, 88, 12), .18), transparent 28rem),
        radial-gradient(circle at 88% 82%, rgba(var(--faczis-secondary-rgb, 79, 70, 229), .14), transparent 26rem),
        linear-gradient(160deg, #fff7ed 0%, #f8fafc 45%, #eef2ff 100%);
    display: flex;
    padding-bottom: 40px;
    padding-top: 40px;
}

html[data-bs-theme=dark] body.login-page {
    background:
        radial-gradient(circle at 12% 18%, rgba(var(--bs-primary-rgb, 234, 88, 12), .22), transparent 28rem),
        radial-gradient(circle at 88% 82%, rgba(var(--faczis-secondary-rgb, 79, 70, 229), .16), transparent 26rem),
        linear-gradient(160deg, #0b1220 0%, #111827 48%, #0f172a 100%);
}

.login-box {
    margin: 0 auto;
    max-width: 420px;
    width: 100%;
}

.login-box .card {
    background: #fff;
    border: 1px solid rgba(226, 232, 240, .95);
    border-radius: .9rem;
    box-shadow: 0 18px 40px rgba(15, 23, 42, .1);
    overflow: hidden;
}

html[data-bs-theme=dark] .login-box .card {
    background: #111827;
    border-color: #334155;
    box-shadow: 0 18px 40px rgba(0, 0, 0, .45);
    color: #e2e8f0;
}

.login-box .card::before {
    background: linear-gradient(90deg, var(--bs-primary, #EA580C), var(--faczis-secondary, #4F46E5));
    content: "";
    display: block;
    height: 4px;
}

.info-text {
    color: #64748b;
    font-size: 15px;
    font-weight: normal !important;
    text-align: center;
}

html[data-bs-theme=dark] .info-text {
    color: #94a3b8;
}

.info-text a {
    color: var(--bs-primary, #EA580C);
    font-weight: 700;
    text-decoration: none;
}

.info-text a:hover {
    text-decoration: underline;
}

.faczis-login-logo {
    background: #fff;
    border: 3px solid rgba(var(--bs-primary-rgb, 234, 88, 12), .35);
    border-radius: 50%;
    box-shadow:
        0 0 0 6px rgba(var(--bs-primary-rgb, 234, 88, 12), .12),
        0 12px 28px rgba(15, 23, 42, .22);
    display: block;
    height: 88px;
    object-fit: cover;
    padding: .35rem;
    width: 88px;
}

html[data-bs-theme=dark] .faczis-login-logo {
    background: #0b1220;
    border-color: rgba(var(--bs-primary-rgb, 234, 88, 12), .55);
    box-shadow:
        0 0 0 6px rgba(var(--bs-primary-rgb, 234, 88, 12), .16),
        0 14px 32px rgba(0, 0, 0, .45);
}

.icon {
    color: var(--bs-primary, #EA580C);
    font-size: 3.25rem;
}

.login-box-msg {
    color: #0f172a;
    font-size: 1.15rem;
    font-weight: 800 !important;
    letter-spacing: -.02em;
    text-align: center;
}

html[data-bs-theme=dark] .login-box-msg {
    color: #f1f5f9;
}

.form-control-lg {
    font-size: 1.10rem;
}

.login-card-body {
    padding: 1.6rem 1.75rem 1.35rem;
}

.login-box .btn-primary {
    --bs-btn-bg: var(--bs-primary, #EA580C);
    --bs-btn-border-color: var(--bs-primary, #EA580C);
    --bs-btn-hover-bg: #c2410c;
    --bs-btn-hover-border-color: #c2410c;
    border-radius: .55rem;
    font-weight: 700;
}

.login-box .form-control {
    border-color: #e2e8f0;
    border-radius: .55rem;
}

html[data-bs-theme=dark] .login-box .form-control {
    background-color: #0b1220;
    border-color: #334155;
    color: #e2e8f0;
}

html[data-bs-theme=dark] .login-box .form-control::placeholder {
    color: #64748b;
}

.login-box .form-control:focus {
    border-color: rgba(var(--bs-primary-rgb, 234, 88, 12), .55);
    box-shadow: 0 0 0 .2rem rgba(var(--bs-primary-rgb, 234, 88, 12), .18);
}

html[data-bs-theme=dark] .login-box .btn-secondary {
    --bs-btn-bg: #1e293b;
    --bs-btn-border-color: #334155;
    --bs-btn-hover-bg: #334155;
    --bs-btn-hover-border-color: #475569;
    color: #e2e8f0;
}

html[data-bs-theme=dark] .login-box .text-muted,
html[data-bs-theme=dark] .login-box .details {
    color: #94a3b8 !important;
}
