/* Страница входа (auth/user-login) */
@font-face {
    font-family: 'Bicubik';
    src: url('/fonts/Bicubik.otf') format('opentype');
    font-weight: 100 900;
    font-style: normal;
    font-display: swap;
}

body {
    font-family: 'Plus Jakarta Sans', sans-serif;
    position: relative;
    overflow: hidden;
    background:
        radial-gradient(circle at 15% 20%, rgba(56, 189, 248, 0.2), transparent 40%),
        radial-gradient(circle at 85% 85%, rgba(129, 140, 248, 0.22), transparent 42%),
        linear-gradient(160deg, #070b16 0%, #0d1324 50%, #121a31 100%);
    color: #e8eefc;
}

.auth-login-page {
    padding: 1.25rem;
}

.auth-login-bg-glow {
    position: fixed;
    width: clamp(14rem, 28vw, 22rem);
    aspect-ratio: 1;
    border-radius: 50%;
    z-index: 0;
    pointer-events: none;
    filter: blur(36px);
    opacity: 0.6;
}

.auth-login-bg-glow--left {
    top: 8vh;
    left: -5vw;
    background: radial-gradient(circle, rgba(56, 189, 248, 0.55), transparent 70%);
}

.auth-login-bg-glow--right {
    right: -6vw;
    bottom: 8vh;
    background: radial-gradient(circle, rgba(129, 140, 248, 0.55), transparent 70%);
}

.brand-wordmark {
    font-family: 'Bicubik', sans-serif;
    font-size: 1.75rem;
    font-weight: 800;
    letter-spacing: 0.06em;
    color: #ecf3ff;
    line-height: 1.1;
    -webkit-text-stroke: 0.02em rgba(226, 236, 255, 0.25);
    text-shadow:
        0.45px 0 0 currentColor,
        -0.45px 0 0 currentColor,
        0 0.35px 0 currentColor,
        0 -0.35px 0 currentColor,
        0 0 1.4rem rgba(96, 165, 250, 0.35);
}

.auth-login-subtitle {
    color: rgba(216, 228, 255, 0.7);
}

.card {
    border-radius: 1rem;
}

.auth-login-card {
    position: relative;
    z-index: 1;
    border: 1px solid rgba(255, 255, 255, 0.18);
    background: linear-gradient(145deg, rgba(255, 255, 255, 0.14), rgba(255, 255, 255, 0.06));
    box-shadow:
        0 1.6rem 3rem rgba(7, 11, 22, 0.5),
        inset 0 1px 0 rgba(255, 255, 255, 0.25);
    backdrop-filter: blur(16px);
    -webkit-backdrop-filter: blur(16px);
}

.auth-login-label {
    color: rgba(226, 236, 255, 0.86);
    font-weight: 600;
}

.auth-login-input {
    border: 1px solid rgba(148, 163, 184, 0.35);
    background: rgba(7, 12, 24, 0.5);
    color: #ecf3ff;
}

.auth-login-input::placeholder {
    color: rgba(226, 236, 255, 0.45);
}

.auth-login-input:focus {
    color: #f8fbff;
    border-color: rgba(96, 165, 250, 0.72);
    box-shadow: 0 0 0 0.2rem rgba(56, 189, 248, 0.2);
    background: rgba(11, 18, 35, 0.72);
}

.auth-login-checkbox {
    background-color: rgba(7, 12, 24, 0.65);
    border-color: rgba(148, 163, 184, 0.4);
}

.auth-login-checkbox:checked {
    background-color: #38bdf8;
    border-color: #38bdf8;
}

.auth-login-check-label {
    color: rgba(220, 230, 252, 0.82);
}

.alert-danger {
    background: rgba(248, 113, 113, 0.15);
    border-color: rgba(248, 113, 113, 0.35);
    color: #ffd2d2;
}

.btn-primary {
    border: none;
}

.auth-login-btn {
    background: linear-gradient(135deg, #0ea5e9, #6366f1);
    font-weight: 600;
    letter-spacing: 0.01em;
    box-shadow: 0 0.8rem 1.6rem rgba(14, 165, 233, 0.35);
}

.auth-login-btn:hover,
.auth-login-btn:focus-visible {
    background: linear-gradient(135deg, #38bdf8, #818cf8);
    box-shadow: 0 1rem 2rem rgba(14, 165, 233, 0.42);
}
