:root{
  --bg: #f7f4f2;
  --card: #ffffff;
  --ink: #241118;
  --muted: #7a6a6f;
  --border: #ecdfe2;
  --primary: #8a1538;
  --primary-dark: #691c32;
  --accent: #a57f2c;
  --radius: 14px;
}
*{box-sizing:border-box}
body{
  margin:0;
  background:var(--bg);
  color:var(--ink);
  font-family:'Inter',system-ui,-apple-system,Segoe UI,Roboto,sans-serif;
}
a{text-decoration:none;color:inherit}

/* ---------- brand ---------- */
.brand{display:flex;align-items:center;gap:10px;padding:0 8px 22px 8px;color:#fff;font-weight:700;font-size:18px}
.brand-mark{
  width:34px;height:34px;border-radius:10px;background:linear-gradient(135deg,var(--primary),var(--accent));
  display:flex;align-items:center;justify-content:center;font-size:16px;
}

/* ---------- forms ---------- */
label{display:block;font-size:13px;font-weight:600;margin-bottom:6px;color:#374151}
.form-group{margin-bottom:18px}
input[type=text],input[type=email],input[type=password]{
  width:100%;padding:11px 13px;border-radius:10px;border:1px solid var(--border);
  font-size:14px;font-family:inherit;background:#fbfcff;
}
input:focus{outline:2px solid #e6c2ce;border-color:var(--primary)}
.hint{font-size:12px;color:var(--muted);margin-top:6px}

/* ---------- buttons ---------- */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  padding:10px 18px;border-radius:10px;border:none;font-size:14px;font-weight:600;cursor:pointer;
  transition:.15s ease;
}
.btn-primary{background:var(--primary);color:#fff}
.btn-primary:hover{background:var(--primary-dark)}
.btn-block{width:100%}

/* ---------- login ---------- */
.auth-wrap{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(160deg,#2b0a17,#691c32 60%,#a57f2c)}
.auth-card{width:380px;background:#fff;border-radius:18px;padding:36px 32px;box-shadow:0 20px 60px -20px rgba(0,0,0,.5)}