/* Sign-in layout. Colours, cards and buttons come from the shared stylesheets. */
.auth-shell{margin:0;min-height:100dvh;display:grid;place-items:center;padding:32px 20px}
.auth-shell [hidden]{display:none!important}
.auth-main{width:100%;max-width:460px}
.auth-brand-row{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:20px}
.auth-brand{display:flex;align-items:center;min-height:44px}
.auth-brand img{width:auto;height:32px}
.auth-brand-row .theme-toggle{width:44px;height:44px;display:grid;place-items:center;padding:0}
.auth-brand-row .theme-toggle svg{width:18px;height:18px}
:root:not([data-theme="light"]) .auth-brand-row .theme-icon-dark,:root[data-theme="light"] .auth-brand-row .theme-icon-light{display:none}
:root:not([data-theme="light"]) .auth-brand-row .theme-icon-light,:root[data-theme="light"] .auth-brand-row .theme-icon-dark{display:block}
.auth-card{padding:32px;min-width:0}
.auth-heading{margin-bottom:24px}
.auth-code{font-size:.8125rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);margin:0 0 8px}
.auth-heading h1{font-family:var(--font-body);font-size:1.875rem;line-height:1.2;font-weight:700;letter-spacing:-.02em;margin:0 0 12px}
.auth-heading p,.auth-sent p{font-size:.875rem;line-height:1.65;color:var(--text-muted)}
.auth-sent p{margin:0 0 20px}
.auth-sent strong{color:var(--text-main)}
.auth-email{display:block;overflow-wrap:anywhere;margin-top:6px}
.auth-field{margin-bottom:20px}
.auth-field label{display:block;font-size:.875rem;font-weight:500;margin-bottom:8px}
.auth-field input{width:100%;min-height:48px;padding:12px 14px;border:1px solid var(--border-color);border-radius:10px;background:var(--bg-color);color:var(--text-main);font:inherit;font-size:1rem}
.auth-field input::placeholder{color:var(--text-muted)}
.auth-field input[aria-invalid="true"]{border-color:var(--fc-danger)}
.auth-shell :focus-visible{outline:2px solid var(--fc-accent);outline-offset:3px}
.auth-field-error{font-size:.8125rem;margin-top:8px;color:var(--text-main)}
.auth-alert{padding:12px 14px;margin-bottom:20px;border:1px solid var(--fc-danger);border-radius:10px;font-size:.875rem;overflow-wrap:anywhere}
.auth-notice{padding:12px 14px;margin-bottom:20px;border:1px solid var(--border-color);border-radius:10px;font-size:.875rem;line-height:1.6;color:var(--text-muted);overflow-wrap:anywhere}
.auth-hint a{color:var(--fc-accent)}
.auth-shell .fc-btn{min-height:48px;white-space:normal;text-align:center}
.auth-hint{font-size:.8125rem;line-height:1.6;color:var(--text-muted);margin-top:16px;text-align:center}
.auth-footer{display:flex;flex-wrap:wrap;justify-content:center;gap:8px 20px;margin-top:16px;font-size:.8125rem;color:var(--text-muted)}
.auth-footer a{min-height:44px;display:inline-flex;align-items:center}
.auth-footer a:hover{color:var(--fc-accent)}
@media(max-width:600px){.auth-shell{padding:24px 20px}.auth-card{padding:24px}}
