/* Shared styles for the local_auth pages: login, forgot, reset. */
.login-shell { min-height: 100vh; display: flex; align-items: center; justify-content: center; padding: 2rem; }
.login-card { width: 100%; max-width: 400px; padding: 2rem; border: 1px solid var(--border, #e2e2e2);
              border-radius: 12px; background: var(--surface, #fff); box-shadow: 0 4px 24px rgba(0,0,0,.06); }
.login-card h1 { font-size: 1.25rem; margin: 0 0 .25rem; }
.login-card .eyebrow { font-size: .75rem; letter-spacing: .08em; text-transform: uppercase; color: #888; margin: 0 0 1.25rem; }
.login-card p.lede { font-size: .9rem; color: #555; margin: 0 0 1.25rem; line-height: 1.4; }
.login-field { display: flex; flex-direction: column; gap: .35rem; margin-bottom: 1rem; }
.login-field label { font-size: .85rem; font-weight: 600; }
.login-field input { padding: .6rem .7rem; border: 1px solid var(--border, #ccc); border-radius: 8px; font-size: .95rem; }
.login-error { background: #fdecec; color: #b3261e; border: 1px solid #f4c7c3; border-radius: 8px;
               padding: .6rem .75rem; font-size: .85rem; margin-bottom: 1rem; }
.login-success { background: #eaf7ee; color: #1e7e34; border: 1px solid #b7e1c4; border-radius: 8px;
                 padding: .6rem .75rem; font-size: .85rem; margin-bottom: 1rem; }
.login-btn { width: 100%; padding: .7rem; border: 0; border-radius: 8px; background: #c8102e; color: #fff;
             font-size: .95rem; font-weight: 600; cursor: pointer; }
.login-btn:hover { background: #a50d26; }
.login-foot { margin-top: 1rem; text-align: center; font-size: .85rem; }
.login-foot a { color: #c8102e; text-decoration: none; }
