/* Login, registration and password reset. Same graphite surfaces and single
   lime accent as the app (style.css); one calm column, no card grid. */
body.auth-page{display:block;min-height:100vh}
.page-lang{position:absolute;top:14px;inset-inline-end:16px}
.auth{width:min(400px,100% - 32px);margin:0 auto;padding:clamp(40px,12vh,120px) 0 48px;display:grid;gap:20px}
.auth-brand{display:inline-flex;align-items:center;gap:10px;padding:0;color:var(--fg);font-size:17px;letter-spacing:.06em;justify-self:start}
.auth-brand:hover{text-decoration:none}
.auth-brand svg{color:var(--accent)}
.auth-brand strong{color:var(--fg)}
.auth-switch{display:grid;grid-template-columns:1fr 1fr;padding:3px;border:1px solid var(--line);border-radius:9px;background:var(--surface)}
.auth-switch button{height:32px;border:0;border-radius:6px;background:none;color:var(--muted);font-size:13px;font-weight:550}
.auth-switch button[aria-selected="true"]{background:var(--surface-3);color:var(--fg)}
.auth-form{display:grid;gap:14px}
.auth-form h1{font-size:22px;line-height:1.25}
.auth-lead{color:var(--muted)}
.auth-form label{display:grid;gap:6px;font-size:13px;color:var(--muted)}
.auth-form input[type="email"],.auth-form input[type="password"]{height:40px;padding:0 12px;border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--fg);font-size:14px;outline:none;transition:border-color .15s var(--ease)}
.auth-form input:focus{border-color:var(--accent)}
.auth-form input[aria-invalid="true"]{border-color:var(--danger)}
.auth-form .primary-button{height:40px;margin-top:4px}
.auth-form .primary-button[aria-busy="true"]{opacity:.7;cursor:progress}
.auth-form .text-button{justify-self:start}
.auth-hint{margin-top:-6px;font-size:12px;line-height:1.5;color:var(--faint)}
.auth-check{grid-template-columns:auto 1fr!important;align-items:start;gap:10px!important;font-size:12.5px!important;line-height:1.5}
.auth-check input{width:16px;height:16px;margin:2px 0 0;accent-color:var(--accent)}
.auth-notice,.auth-error{padding:10px 12px;border-radius:8px;font-size:13px;line-height:1.5}
.auth-notice{border:1px solid oklch(0.87 0.13 125 / .35);background:var(--accent-soft);color:var(--fg)}
.auth-error{border:1px solid oklch(0.74 0.13 28 / .45);background:oklch(0.74 0.13 28 / .1);color:var(--fg)}
.auth-footer{display:flex;flex-wrap:wrap;justify-content:flex-start;gap:6px 18px;margin-top:12px;padding-top:16px;border-top:1px solid var(--line-soft);font-size:12px;color:var(--faint)}
.auth-footer a{color:var(--muted)}
.auth-secret{position:relative;display:block}
.auth-secret input{width:100%;padding-inline-end:84px!important}
.auth-eye{position:absolute;inset-inline-end:6px;top:50%;transform:translateY(-50%);height:28px;padding:0 10px;border:0;border-radius:6px;background:none;color:var(--muted);font-size:12px}
.auth-eye:hover{background:var(--surface-2);color:var(--fg)}
.auth-check-mail{text-align:start}
.auth-mail-icon{width:44px;height:44px;fill:none;stroke:var(--accent);stroke-width:2;stroke-linejoin:round}
.auth-check-mail strong{color:var(--fg);overflow-wrap:anywhere}
.auth-steps{display:grid;gap:6px;margin:0;padding:12px 14px 12px 30px;border:1px solid var(--line-soft);border-radius:8px;background:var(--surface);font-size:12.5px;color:var(--muted)}
.auth-wide{width:100%;height:40px}
.auth-hint a,.auth-check a{color:var(--accent)}
@media (prefers-reduced-motion:reduce){.auth-form input{transition:none}}
