.login {
    min-height: 100vh;
    display: grid;
    place-items: center;
    padding: 32px 16px;
}

.login-form {
    width: min(400px, 100%);
    background: var(--surface);
    border: 1px solid var(--border);
    border-radius: var(--radius-lg);
    box-shadow: var(--shadow);
    padding: 32px 28px;
}

.login-form form {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.login-form h1 { font-size: 26px; }
.login-form .btn.primary { height: 40px; margin-top: 6px; }

.password { position: relative; }
.password .input { padding-right: 42px; }
.password .btn { position: absolute; right: 4px; top: 4px; }

.login-error {
    background: var(--danger-soft);
    color: var(--danger);
    padding: 9px 12px;
    border-radius: var(--radius-sm);
    font-weight: 650;
    font-size: 13px;
}

@media (max-width: 480px) {
    .login-form { padding: 24px 18px; }
}
