.auth-wrap{
  min-height:calc(100vh - 90px);
  display:flex;align-items:center;justify-content:center;
  padding:32px 16px 96px;
}
.auth-card{
  width:100%;max-width:440px;
  padding:28px;
}
.auth-head{text-align:center;margin-bottom:18px}
.auth-head h1{margin:8px 0 4px;font-size:1.5rem;color:var(--ink)}
.auth-head p{margin:0;color:var(--muted);font-size:.92rem}
.field{margin-bottom:14px}
.field label{display:block;font-weight:700;font-size:.88rem;margin-bottom:6px;color:var(--ink)}
.field input,.field select,.field textarea{
  width:100%;padding:12px 14px;border-radius:14px;
  border:1px solid var(--border);background:#fff;font-family:inherit;font-size:.95rem;
  outline:none;transition:.2s ease;
}
.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--indigo);box-shadow:0 0 0 3px rgba(91,75,255,.12)}
.field-row{display:grid;gap:12px}
.checkbox-row{display:flex;align-items:flex-start;gap:10px;margin:14px 0;font-size:.88rem;color:var(--muted)}
.checkbox-row input{margin-top:3px}
.form-error{
  background:rgba(255,107,107,.12);color:#b3312f;border:1px solid rgba(255,107,107,.25);
  padding:10px 12px;border-radius:14px;font-size:.88rem;margin-bottom:14px;display:none
}
.form-success{
  background:rgba(40,215,161,.12);color:#127a5a;border:1px solid rgba(40,215,161,.28);
  padding:10px 12px;border-radius:14px;font-size:.88rem;margin-bottom:14px;display:none
}
.auth-foot{text-align:center;margin-top:14px;font-size:.9rem;color:var(--muted)}
.auth-foot a{color:var(--indigo);font-weight:700}
.role-toggle{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:14px}
.role-opt{
  border:1.5px solid var(--border);border-radius:16px;padding:14px;text-align:center;cursor:pointer;
  transition:.2s ease;
}
.role-opt.active{border-color:var(--indigo);background:rgba(91,75,255,.06)}
.role-opt i{font-size:1.3rem;color:var(--indigo);display:block;margin-bottom:6px}
@media(min-width:768px){.field-row.two{grid-template-columns:1fr 1fr}}