/* Local authentication/error styles; no external assets or JavaScript required. */
main.auth-main,.error-main{box-sizing:border-box;width:calc(100% - 2rem);max-width:30rem;margin:clamp(1.25rem,6vh,4rem) auto;padding:clamp(1.25rem,5vw,2.5rem);background:var(--fd-surface-panel);border:1px solid var(--fd-border-default);border-radius:1rem;box-shadow:var(--fd-shadow-raised)}
.auth-main h1,.error-main h1{margin:0 0 .75rem;font-size:clamp(1.5rem,5vw,1.875rem);line-height:1.25;overflow-wrap:anywhere}
.auth-intro,.error-description{margin:0 0 1.75rem;color:var(--fd-text-secondary);line-height:1.6}
.auth-form{display:grid;gap:1.25rem}
.auth-form .form-field{display:grid;gap:.5rem;min-width:0}
.auth-form label{margin:0;font-weight:600;line-height:1.4}
.auth-form input:not([type=hidden]){box-sizing:border-box;display:block;width:100%;min-width:0;min-height:3rem;margin:0;padding:.75rem .875rem;border:1px solid var(--fd-border-strong-semantic);border-radius:.5rem;background:var(--fd-surface-control);color:var(--fd-text-primary);font:inherit;font-size:1rem;line-height:1.4}
.auth-form input[aria-invalid=true]{border-color:var(--fd-status-danger)}
.auth-form .primary-button,.error-actions a{box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;min-height:3rem;padding:.75rem 1rem;border:1px solid var(--fd-accent);border-radius:.5rem;font:inherit;font-weight:600;line-height:1.4;text-align:center;text-decoration:none;cursor:pointer}
.auth-form .primary-button{width:100%;margin:.25rem 0 0;background:var(--fd-accent);color:var(--fd-text-inverse)}
.auth-form .primary-button:hover{background:var(--fd-accent-hover);border-color:var(--fd-accent-hover)}
.auth-form input:focus-visible,.auth-form button:focus-visible,.error-actions a:focus-visible{outline:3px solid var(--fd-focus-ring);outline-offset:3px}
.form-alert{margin:0 0 1.5rem;padding:1rem;border:1px solid var(--fd-status-danger-border);border-radius:.5rem;background:var(--fd-status-danger-bg);color:var(--fd-status-danger);line-height:1.5;overflow-wrap:anywhere}
.auth-form .field-help{margin:0;color:var(--fd-text-secondary);font-size:.875rem;line-height:1.5}
.error-page{margin:0;background:var(--fd-surface-page);color:var(--fd-text-primary);font-family:system-ui,sans-serif}
.error-code{margin:0 0 .75rem;color:var(--fd-text-secondary);font-size:.875rem;font-weight:700;letter-spacing:.08em}
.error-actions{display:flex;flex-wrap:wrap;gap:.75rem}
.error-actions a{background:var(--fd-accent);color:var(--fd-text-inverse)}
@media(max-width:400px){.auth-main .primary-button,.error-actions a{width:100%}}
@media(forced-colors:active){.auth-form input:not([type=hidden]),.auth-form .primary-button,.form-alert,.error-actions a{border:1px solid ButtonText}}
