.hpt-auth-wrap{
  max-width:420px;margin:0 auto;padding:1rem 1rem 1.25rem;
}
.hpt-auth-card{
  background:#fff;border:1px solid #e2e8f0;border-radius:16px;
  padding:1.35rem 1.25rem 1.5rem;box-shadow:0 8px 28px rgba(15,23,42,.06);
}
html[data-theme=dark] .hpt-auth-card{background:#111827;border-color:#1f2937;color:#e5e7eb}
.hpt-auth-card h1{margin:0 0 .35rem;font-size:1.45rem;font-weight:800;letter-spacing:-.02em}
.hpt-auth-lead{margin:0 0 1.1rem;color:#64748b;font-size:.92rem;line-height:1.45}
.hpt-auth-form{display:flex;flex-direction:column;gap:.85rem}
.hpt-auth-form label{display:flex;flex-direction:column;gap:.35rem;font-size:.88rem;font-weight:600;color:#0f172a}
html[data-theme=dark] .hpt-auth-form label{color:#e5e7eb}
.hpt-auth-form input{
  width:100%;box-sizing:border-box;padding:.75rem .85rem;border-radius:12px;
  border:1px solid #cbd5e1;font-size:1rem;background:#fff;color:#0f172a;
}
html[data-theme=dark] .hpt-auth-form input{background:#0b1220;border-color:#334155;color:#e5e7eb}
.hpt-auth-form input:focus{outline:2px solid #2563eb;border-color:#2563eb}
.hpt-auth-submit{
  margin-top:.35rem;border:none;border-radius:12px;padding:.9rem 1rem;
  background:#1d4ed8;color:#fff;font-weight:700;font-size:1rem;cursor:pointer;
}
.hpt-auth-submit:hover{background:#1e40af}
.hpt-auth-switch{margin:1rem 0 0;font-size:.9rem;color:#64748b}
.hpt-auth-switch a{color:#1d4ed8;font-weight:650;text-decoration:none}
.hpt-auth-msg{padding:.7rem .85rem;border-radius:10px;margin:0 0 .9rem;font-size:.9rem}
.hpt-auth-msg.err{background:#fef2f2;color:#b91c1c;border:1px solid #fecaca}
.hpt-auth-msg.ok{background:#ecfdf5;color:#047857;border:1px solid #a7f3d0}
@media (max-width:640px){
  .hpt-auth-wrap{padding-bottom:1.25rem}
}
