* { box-sizing: border-box; margin: 0; padding: 0; }
html, body { height: 100%; }
body {
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, sans-serif;
    background: #f5f5f7;
    color: #1A1A1A;
    display: grid;
    place-items: center;
    min-height: 100vh;
    padding: 2rem;
}
.auth-shell { width: 100%; max-width: 380px; display: flex; flex-direction: column; gap: 1.25rem; }
.brand { text-decoration: none; align-self: center; margin-bottom: 1rem; font-size: 1.4rem; font-weight: 700; color: #1A1A1A; }
.brand .accent { color: #2563eb; }
h1 { font-size: 1.75rem; font-weight: 700; }
.lead { color: #6b6b6b; font-size: 0.95rem; }
.auth-form { display: flex; flex-direction: column; gap: 0.875rem; }
.auth-form label { display: flex; flex-direction: column; gap: 0.35rem; font-size: 0.85rem; color: #4a4a4a; }
.auth-form input { padding: 0.65rem 0.8rem; border: 1px solid #d1d1d6; background: #fff; border-radius: 6px; font-size: 1rem; }
.auth-form input:focus { outline: 2px solid #2563eb; outline-offset: -1px; }
.auth-form button { padding: 0.75rem 1rem; border: none; background: #1A1A1A; color: #fff; border-radius: 6px; font-size: 1rem; font-weight: 600; cursor: pointer; margin-top: 0.5rem; }
.auth-form button:hover:not(:disabled) { background: #333; }
.status { font-size: 0.9rem; min-height: 1.4em; }
.status.error { color: #b00020; }
.alt { font-size: 0.85rem; color: #6b6b6b; text-align: center; margin-top: 1rem; }
.alt a { color: #2563eb; }
