:root{
  --blue:#1a78c2; --blue-dk:#135fa0; --dark:#1e1e1e; --charcoal:#2d2d2d;
  --gold:#c9a84c; --gold-lt:#e8c96a; --gray:#f5f5f5; --mid:#767676;
  --white:#fff; --border:#e0e0e0;
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
body{
  font-family:'Inter',system-ui,sans-serif;color:var(--charcoal);
  min-height:100vh;display:flex;align-items:center;justify-content:center;
  padding:32px 16px;
  background:
    radial-gradient(1100px 600px at 80% -10%, rgba(26,120,194,.35), transparent 60%),
    linear-gradient(135deg,#11243a 0%,#1e1e1e 100%);
}
.auth-card{
  width:100%;max-width:440px;background:var(--white);
  border-radius:16px;box-shadow:0 24px 60px rgba(0,0,0,.35);
  padding:40px 36px;
}
.auth-logo{display:flex;justify-content:center;margin-bottom:8px}
.auth-logo img{height:54px;width:auto}
.auth-card h1{
  font-family:'Manrope',sans-serif;font-size:24px;font-weight:800;
  text-align:center;letter-spacing:-.02em;margin-top:14px;color:var(--dark);
}
.auth-sub{text-align:center;color:var(--mid);font-size:14px;margin:6px 0 26px}
.field{margin-bottom:16px}
.field label{
  display:block;font-size:13px;font-weight:600;margin-bottom:6px;color:var(--charcoal);
  font-family:'Manrope',sans-serif;
}
.field input{
  width:100%;padding:12px 14px;border:1.5px solid var(--border);border-radius:8px;
  font-size:15px;font-family:'Inter',sans-serif;transition:border-color .2s,box-shadow .2s;
}
.field input:focus{
  outline:none;border-color:var(--blue);box-shadow:0 0 0 3px rgba(26,120,194,.15);
}
.row{display:flex;gap:14px}
.row .field{flex:1}
.btn-submit{
  width:100%;margin-top:8px;padding:13px;border:none;border-radius:8px;cursor:pointer;
  background:linear-gradient(135deg,var(--blue),var(--blue-dk));color:#fff;
  font-family:'Manrope',sans-serif;font-size:15px;font-weight:700;letter-spacing:.01em;
  transition:filter .2s,transform .05s;
}
.btn-submit:hover{filter:brightness(1.07)}
.btn-submit:active{transform:translateY(1px)}
.auth-alt{text-align:center;margin-top:22px;font-size:14px;color:var(--mid)}
.auth-alt a{color:var(--blue);font-weight:600;text-decoration:none}
.auth-alt a:hover{text-decoration:underline}
.alert{
  padding:12px 14px;border-radius:8px;font-size:14px;margin-bottom:20px;line-height:1.4;
}
.alert-error{background:#fdecec;color:#b3261e;border:1px solid #f5c6c4}
.alert-success{background:#e9f7ee;color:#1d7a3e;border:1px solid #bfe6cd}
.gold-bar{height:4px;width:48px;background:var(--gold);border-radius:2px;margin:0 auto 4px}
