:root {
    --auth-bg: #0f172a;
    --auth-card-bg: #ffffff;
    --auth-primary: #3b4cca;
    --auth-muted: #64748b;
    --auth-scale: 0.75;
}

.auth-body {
    min-height: 100vh;
    display: grid;
    place-items: center;
    background: radial-gradient(circle at top, rgba(79, 70, 229, 0.2), transparent 55%),
        linear-gradient(135deg, #0f172a, #1e293b 60%, #0f172a);
    font-family: "Poppins", sans-serif;
    font-size: calc(1rem * var(--auth-scale));
    padding: calc(24px * var(--auth-scale));
}

.auth-shell {
    width: min(calc(460px * var(--auth-scale)), 100%);
}

.auth-card {
    background: var(--auth-card-bg);
    border-radius: calc(24px * var(--auth-scale));
    padding: calc(32px * var(--auth-scale));
    box-shadow: 0 18px 40px rgba(15, 23, 42, 0.35);
}

.auth-brand {
    display: flex;
    align-items: center;
    gap: calc(16px * var(--auth-scale));
}

.auth-brand__logo {
    width: calc(64px * var(--auth-scale));
    height: calc(64px * var(--auth-scale));
    object-fit: contain;
    border-radius: calc(16px * var(--auth-scale));
    background: #f8fafc;
    padding: calc(8px * var(--auth-scale));
}

.auth-card .form-control {
    border-radius: calc(14px * var(--auth-scale));
    padding: calc(12px * var(--auth-scale)) calc(14px * var(--auth-scale));
}

.auth-card .btn-primary {
    background: var(--auth-primary);
    border-color: var(--auth-primary);
    padding: calc(12px * var(--auth-scale)) calc(16px * var(--auth-scale));
    border-radius: calc(14px * var(--auth-scale));
    font-weight: 600;
}

.auth-card .text-muted {
    color: var(--auth-muted) !important;
}

.auth-body {
    overflow-x: hidden;
}

.auth-shell {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: calc(100vh - calc(48px * var(--auth-scale)));
}
