/* Sign-in page: one clean card, one job per screen. Uses the tokens from type.css and site.css. */
body.auth{background:var(--panel);min-height:100vh;display:flex;flex-direction:column}
.auth-top{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px max(16px,env(safe-area-inset-right)) 8px max(16px,env(safe-area-inset-left));max-width:1100px;width:100%;margin:0 auto}
.auth-top .back{font-weight:var(--fw-semibold);color:var(--ink);text-decoration:none;padding:10px 4px;min-height:44px;display:inline-flex;align-items:center}
.auth-top .back:hover{text-decoration:underline}
.auth-main{flex:1;display:grid;place-items:start center;padding:20px 16px 48px}
.card-auth{width:100%;max-width:440px;background:#fff;border:1px solid var(--line);border-radius:24px;padding:32px 28px;display:flex;flex-direction:column;gap:18px;box-shadow:0 1px 2px rgba(17,24,39,.04),0 12px 32px -16px rgba(17,24,39,.12)}
@media (max-width:520px){.card-auth{padding:24px 18px;border-radius:20px}}
.card-auth>section{display:flex;flex-direction:column;gap:18px}
.card-auth h1{font-size:var(--fs-3xl);line-height:1.15;margin:0}
.card-auth .sub{margin:-6px 0 0;color:var(--muted);font-size:var(--fs-md);line-height:1.45}
.card-auth form{display:flex;flex-direction:column;gap:16px;margin:0}
.card-auth .field input{font-size:16px}
.card-auth .btn{width:100%}
.who{align-self:flex-start;display:inline-flex;align-items:center;gap:6px;border-radius:999px;padding:4px 12px;font-size:var(--fs-label);font-weight:var(--fw-semibold);background:var(--panel);color:var(--ink)}
.who.student{background:var(--maths-soft);color:var(--maths-soft-ink)}
.row-between{display:flex;justify-content:space-between;align-items:center;gap:8px;flex-wrap:wrap}
.field .row-between label{margin:0}
.card-auth .link{padding:6px 2px;min-height:44px;display:inline-flex;align-items:center;justify-content:center;align-self:flex-start}
.swap .link{align-self:center}
.card-auth .link.plain{text-decoration:none;font-weight:var(--fw-semibold)}
.divider{display:flex;align-items:center;gap:12px;color:var(--muted);font-size:var(--fs-label)}
.divider::before,.divider::after{content:"";flex:1;height:1px;background:var(--line)}
.swap{display:flex;flex-direction:column;align-items:center;gap:0;text-align:center;font-size:var(--fs-body);color:var(--muted)}
.swap p{margin:0}
.notice{background:var(--panel);border-radius:14px;padding:12px 14px;font-size:var(--fs-body)}
.notice.good{background:var(--good-fill);color:var(--good-ink);font-weight:var(--fw-semibold)}
.sent{display:flex;flex-direction:column;gap:14px;align-items:flex-start}
.sent .big{width:56px;height:56px;border-radius:18px;background:var(--good-fill);color:var(--good-ink);display:grid;place-items:center}
.card-auth [hidden]{display:none!important}
.auth-foot{text-align:center;color:var(--muted);font-size:var(--fs-label);padding:0 16px 24px}
.pw button{min-height:36px}
.opt{font-weight:400;color:var(--muted)}
