
.auth-page{display:flex;flex-direction:column;min-height:100vh;min-height:100dvh}
.auth-page main{flex:1;padding:var(--sp-6) var(--gutter)}
.header-link{display:flex;align-items:center;min-height:var(--tap);padding:0 12px;border-radius:var(--radius);color:var(--c-text-dim);font-weight:500;text-decoration:none}
.header-link:hover{background:var(--c-surface);color:var(--c-text)}
.auth-card,.auth-note{width:100%;max-width:460px;margin-inline:auto}
.auth-card{padding:var(--sp-5) var(--sp-4) var(--sp-4);border:1px solid var(--c-line);border-top:var(--rail-w) solid var(--c-brand);background:var(--c-surface)}
.auth-card h1{font-size:var(--fs-h2);margin-bottom:var(--sp-3)}
.auth-lead{margin-bottom:var(--sp-4);color:var(--c-text-dim)}
.auth-note{margin-top:var(--sp-4)}
.msg{display:none;margin-bottom:var(--sp-4);padding:var(--sp-3);border:1px solid var(--c-line);background:var(--c-bg);color:var(--c-text)}
.msg.show{display:block}
.msg.working{color:var(--c-text-dim)}
.msg.ok{border-color:var(--c-gain)}
.msg.error{border-color:var(--c-loss);color:var(--c-loss)}
.auth-card form > * + *{margin-top:var(--sp-3)}
.field label{display:block;margin-bottom:6px;font-size:var(--fs-small);font-weight:500}
.field input,.field select{display:block;width:100%;min-height:48px;padding:0 14px;border:1px solid var(--c-line-strong);border-radius:var(--radius);background:var(--c-bg);color:var(--c-text);font:inherit}
.field input:focus-visible,.field select:focus-visible{outline-offset:1px}
.field .hint{margin-top:6px}
.hint{color:var(--c-text-dim);font-size:var(--fs-small)}
.hint a{color:var(--c-text);font-weight:500;text-decoration:underline;text-decoration-color:var(--c-brand);text-decoration-thickness:2px;text-underline-offset:4px}
.hint a:hover{color:var(--c-brand-text)}
.field-checkbox{display:flex;align-items:center;gap:10px;min-height:var(--tap)}
.field-checkbox input{flex:none;width:20px;height:20px;accent-color:var(--c-brand)}
.auth-card .btn{width:100%}
.auth-card .btn:disabled{opacity:.6;cursor:progress}
#resend-box{margin-top:var(--sp-3)}
.auth-card > .hint{margin-top:var(--sp-3)}
.alt-links{display:flex;flex-wrap:wrap;justify-content:space-between;gap:0 var(--sp-4);margin-top:var(--sp-4);padding-top:var(--sp-2);border-top:1px solid var(--c-line)}
.alt-links a{display:inline-flex;align-items:center;min-height:var(--tap);color:var(--c-text);font-weight:500;text-decoration:underline;text-decoration-color:var(--c-brand);text-decoration-thickness:2px;text-underline-offset:4px}
.alt-links a:hover{color:var(--c-brand-text)}
.u-hidden{display:none}
@media (max-width:480px){
  .auth-page main{padding-block:var(--sp-4)}
  .auth-card{padding:var(--sp-4) var(--sp-3) var(--sp-3)}
}
