.auth-wrap{min-height:calc(100vh - 80px);display:flex;align-items:flex-start;justify-content:center;padding:50px 20px;background:var(--light,#f7faff)}
.auth-card{background:#fff;border:1px solid var(--line,#dfe8f4);border-radius:14px;padding:36px 34px;max-width:440px;width:100%;box-shadow:0 10px 35px rgba(12,43,82,.06)}
.auth-card-wide{max-width:640px}
.auth-card h1{font-size:24px;margin:0 0 6px;color:var(--navy,#072a59)}
.auth-sub{color:var(--muted,#63748b);font-size:14px;margin:0 0 26px}

.auth-card form label{display:block;font-size:13px;font-weight:700;margin:16px 0 7px;color:var(--navy,#072a59)}
.auth-card form label:first-of-type{margin-top:0}
.auth-card input[type=text],
.auth-card input[type=email],
.auth-card input[type=tel],
.auth-card input[type=password],
.auth-card input[type=number],
.auth-card input[type=file],
.auth-card select{
  width:100%;border:1px solid #d7e2ef;border-radius:8px;padding:11px 13px;
  font:inherit;font-size:14px;color:var(--text,#0b2b58);background:#fff;
}
.auth-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.auth-row3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:16px}
.auth-hint{font-size:12px;color:var(--muted,#63748b);margin:6px 0 0}

.auth-check{display:flex;align-items:flex-start;gap:10px;font-size:13px;color:#3a4658;margin-top:20px;font-weight:400}
.auth-check input{margin-top:3px;flex-shrink:0}
.auth-check a{color:#0d66c2;font-weight:600}

.auth-submit{width:100%;margin-top:26px;font-size:15px}

.auth-error{background:#fde8e8;border:1px solid #f5b5b5;color:#8a1f1f;padding:12px 16px;border-radius:8px;margin-bottom:20px;font-size:13.5px}
.auth-error a{color:#8a1f1f;text-decoration:underline}
.auth-success{background:#e7f7ec;border:1px solid #a8e0bb;color:#155724;padding:16px 18px;border-radius:8px;font-size:14.5px}
.auth-success a{color:#155724;font-weight:700}

.auth-switch{text-align:center;font-size:13.5px;color:var(--muted,#63748b);margin-top:22px}
.auth-switch a{color:#0d66c2;font-weight:700}

.auth-hello{font-size:13.5px;color:var(--muted,#63748b);margin-right:6px}

@media(max-width:600px){
  .auth-card{padding:26px 20px}
  .auth-row,.auth-row3{grid-template-columns:1fr}
}
