/* Простая страница входа/регистрации в стиле шаблонов */
*{margin:0;padding:0;box-sizing:border-box}
body{
  font-family:'Inter',sans-serif;
  background:#f9fafc;
  color:#0f172a;
  min-height:100vh;
}
.wrap{
  min-height:100vh;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:24px;
}
.card{
  width:100%;
  max-width:520px;
  background:#fff;
  border-radius:40px;
  padding:34px 30px;
  border:1px solid #f0f4fe;
  box-shadow:0 30px 60px -25px rgba(37,99,235,.25);
}
.back{
  display:inline-flex;
  gap:10px;
  align-items:center;
  color:#2563eb;
  text-decoration:none;
  font-weight:600;
  margin-bottom:18px;
}
.logo{
  font-size:28px;
  font-weight:800;
  background:linear-gradient(135deg,#2563eb,#7c3aed);
  -webkit-background-clip:text;
  -webkit-text-fill-color:transparent;
  letter-spacing:-0.5px;
  margin-bottom:8px;
}
h1{font-size:26px;font-weight:800;margin-bottom:18px}
label{display:block;font-size:13px;color:#64748b;margin:14px 0 8px}
input{
  width:100%;
  border:1px solid #e2e8f0;
  border-radius:18px;
  padding:14px 16px;
  font-size:15px;
  outline:none;
}
input:focus{border-color:#2563eb;box-shadow:0 0 0 4px rgba(37,99,235,.12)}
.btn-primary{
  margin-top:18px;
  width:100%;
  background:linear-gradient(135deg,#2563eb,#7c3aed);
  border:none;
  color:#fff;
  font-weight:700;
  padding:14px 18px;
  border-radius:22px;
  font-size:16px;
  cursor:pointer;
  box-shadow:0 10px 20px -8px #2563eb80;
}
.btn-primary:hover{opacity:.92}
.switch{margin-top:16px;color:#475569}
.switch a{color:#2563eb;text-decoration:none;font-weight:600}
.alert{
  background:#fee2e2;
  color:#b91c1c;
  border-radius:18px;
  padding:12px 14px;
  font-weight:600;
  display:flex;
  gap:10px;
  align-items:flex-start;
  margin:10px 0 6px;
}

