/* LOGIN.CSS */
body {
  background: radial-gradient(ellipse at top, #0d2544 0%, var(--bg) 65%);
  display: flex; flex-direction: column;
  align-items: center; justify-content: flex-start;
  padding-bottom: 40px;
}

.hero-wrap { position:relative; width:100%; overflow:hidden; }
.hero-wrap img { width:100%; display:block; border-radius:0 0 22px 22px; }
.hero-wrap .hero-grad {
  position:absolute; bottom:0; left:0; right:0; height:50%;
  background:linear-gradient(to bottom,transparent,#0d2544);
  border-radius:0 0 22px 22px; pointer-events:none;
}

.login-card {
  width:calc(100% - 28px); max-width:420px;
  margin-top:-20px; position:relative; z-index:2;
}
.login-body { padding:26px 22px 30px; }

.login-title { font-size:28px; font-weight:900; color:var(--gold);
  text-shadow:0 0 24px rgba(245,197,66,0.5); text-align:center; margin-bottom:4px; }
.login-sub { font-size:14px; color:var(--muted); text-align:center; margin-bottom:22px; }

.seat-display {
  display:flex; align-items:center; justify-content:center; gap:10px;
  background:rgba(0,212,255,0.07); border:1px solid rgba(0,212,255,0.25);
  border-radius:12px; padding:12px 18px; margin-bottom:22px;
}
.seat-display .seat-lbl { font-size:14px; color:var(--muted); font-weight:600; }
.seat-display .seat-num {
  font-size:26px; font-weight:900; color:var(--cyan);
  text-shadow:0 0 16px rgba(0,212,255,0.5); letter-spacing:2px;
}

.input-label { display:block; font-size:14px; color:var(--muted); font-weight:600; margin-bottom:9px; }
.input-wrap { margin-bottom:20px; }
