:root{
  --bg:#eceff2;
  --card:#ffffff;
  --line:#d9dee5;
  --text:#2f3945;
  --muted:#7a8594;
  --accent:#7f8a96;
  --shadow:0 24px 50px rgba(30,40,55,.16);
}
*{box-sizing:border-box}
body{
  margin:0;
  font-family: "Avenir Next", "Segoe UI", Tahoma, Arial, sans-serif;
  background:
    radial-gradient(1200px 900px at 20% -10%, rgba(255,255,255,.5), transparent 55%),
    linear-gradient(180deg,#f2f4f7 0%, #e6eaef 50%, #dde3ea 100%);
  color:var(--text);
  display:flex;
  min-height:100vh;
  align-items:center;
  justify-content:center;
  padding:20px;
}
.card{
  width:min(380px, 92vw);
  background:var(--card);
  border:1px solid var(--line);
  border-radius:26px;
  box-shadow: var(--shadow);
  padding:26px 22px 22px;
}
.brand{
  display:flex;
  align-items:center;
  justify-content:center;
  margin-bottom:18px;
}
.brand img{
  width:200px;
  height:auto;
  object-fit:contain;
}
.field{
  margin-top:12px;
  background:#f4f6f9;
  border:1px solid #d9dee5;
  border-radius:10px;
  padding:8px 12px;
}
input{
  width:100%;
  background:transparent;
  border:none;
  outline:none;
  color:var(--text);
  font-size:14px;
  text-align:center;
}
.btn{
  margin-top:16px;
  width:100%;
  border:none;
  background: #7f8a96;
  color: #fff;
  padding:12px 14px;
  border-radius:10px;
  cursor:pointer;
  font-weight:700;
  letter-spacing:.3px;
  font-size:13px;
}
.btn:hover{filter:brightness(1.05)}
.err{color:#b94b45;font-size:12px;margin-top:10px;text-align:center}
.footer{
  margin-top:14px;
  text-align:center;
  color:var(--muted);
  font-size:11px;
}
.footer .dot{margin:0 6px}
