:root {
    --auth-navy: #212C55;
    --auth-navy-deep: #1E2746;
    --auth-navy-soft: #2C3A6E;
    --auth-navy-line: #3A456B;
    --auth-gold: #C2A05F;
    --auth-cream: #F5F1F1;
    --auth-white: #FFFFFF;

    --auth-radius-card: 20px;
    --auth-radius-control: 10px;
    --auth-radius-chip: 8px;
}

.auth-shell {
    --bs-primary: var(--auth-navy);
    --bs-primary-active: var(--auth-navy-soft);
    --bs-primary-inverse: var(--auth-white);

    min-height: 100vh;
    min-height: 100dvh;
}

body {
    background-image: url('/assets/vendor/media/auth/bg3-blue.jpg');
}

.login-logo {
    max-width: min(420px, 74vw);
    max-height: min(200px, 22vh);
    filter: drop-shadow(0 10px 30px rgba(0, 0, 0, .45));
}

.auth-product {
    color: var(--auth-gold);
    font-size: 1.45rem;
    font-weight: 600;
    letter-spacing: 2.5px;
}

.auth-tagline-rule {
    display: block;
    width: 56px;
    height: 2px;
    background: var(--auth-gold);
    border-radius: 2px;
}

.auth-tagline {
    color: var(--auth-cream);
    font-size: 1.05rem;
    font-weight: 500;
    letter-spacing: .2px;
}

.auth-card {
    width: 100%;
    max-width: 440px;
    overflow: hidden;
    border-radius: var(--auth-radius-card);
    background: var(--bs-body-bg);
    box-shadow: 0 30px 70px rgba(10, 16, 38, .38);
}

.auth-card-accent {
    display: block;
    height: 3px;
    background: linear-gradient(90deg, transparent, var(--auth-gold) 30%, var(--auth-gold) 70%, transparent);
}

.auth-card .form-control-solid {
    border-radius: var(--auth-radius-control);
    padding: .9rem 1rem;
}

.auth-card .form-control-solid:focus {
    box-shadow: 0 0 0 3px rgba(194, 160, 95, .32);
}

.auth-card .btn-primary {
    border-radius: var(--auth-radius-control);
    padding: .9rem 1rem;
    font-weight: 600;
    letter-spacing: .2px;
    transition: transform .15s ease, box-shadow .15s ease, background-color .15s ease;
}

.auth-card .btn-primary:hover {
    transform: translateY(-1px);
    box-shadow: 0 10px 24px rgba(33, 44, 85, .3);
}

.auth-card .btn-primary:active {
    transform: translateY(0);
}

.auth-card .link-primary:hover {
    color: var(--auth-gold);
    text-decoration: underline;
}

.auth-caps { margin-top: .35rem; }

.auth-meter-bar {
    height: 4px;
    border-radius: 2px;
    background: var(--bs-gray-300);
    transition: background-color .15s ease;
}

.auth-meter-bar.is-on { background: var(--bs-warning); }
.auth-meter-bar.is-full { background: var(--bs-success); }

.auth-lang {
    position: absolute;
    top: 18px;
    right: 22px;
    z-index: 5;
}

.auth-lang .btn {
    background: var(--auth-navy-deep);
    border: 1px solid var(--auth-navy-line);
    color: var(--auth-white);
    font-weight: 600;
    border-radius: var(--auth-radius-chip);
}

.auth-lang .btn:hover {
    background: var(--auth-navy-soft);
    color: var(--auth-white);
}

@media (max-width: 991.98px) {
    .login-logo { max-width: min(260px, 62vw); }
    .auth-card { max-width: 420px; }
}

@media (prefers-reduced-motion: reduce) {
    .auth-card .btn-primary { transition: none; }
    .auth-card .btn-primary:hover { transform: none; }
}
