.login-shell { display: grid; min-height: 100vh; place-items: center; padding: 32px; }
.login-card { width: min(420px, 100%); padding: 42px; border: 1px solid var(--color-border); border-radius: var(--radius-lg); background: rgba(255,255,255,0.96); box-shadow: var(--shadow-card); }
.brand--login { margin-bottom: 26px; }
.login-card h1 { margin: 7px 0 8px; font-size: 27px; }
.login-card__description { margin: 0 0 28px; color: var(--color-text-muted); font-size: 14px; }
.login-card form { display: grid; gap: 18px; }
.login-card label { display: grid; gap: 7px; color: #5d6478; font-size: 13px; font-weight: 650; }
.login-card input { height: 46px; padding: 0 13px; border: 1px solid var(--color-border); border-radius: var(--radius-sm); outline: none; background: #fbfcff; }
.login-card input:focus { border-color: var(--color-primary); box-shadow: 0 0 0 3px rgba(88,101,232,0.13); }
.form-message { margin-bottom: 18px; padding: 10px 12px; border-radius: 8px; font-size: 13px; }
.form-message--error { color: #a72a43; background: var(--color-danger-soft); }
.form-message--success { color: #176a4c; background: var(--color-success-soft); }
.form-link { display: block; margin-top: 18px; color: var(--color-primary); text-align: center; font-size: 13px; }
.secondary-form { margin-top: 12px; }
.secondary-form button { width: 100%; padding: 8px; border: 0; color: #777e91; background: transparent; }
