* { box-sizing: border-box; }
body { margin: 0; min-height: 100vh; display: grid; place-items: center; padding: 24px 16px; background: linear-gradient(135deg, #0f172a, #1e293b); color: #e2e8f0; font-family: 'Segoe UI', Tahoma, sans-serif; line-height: 1.6; }
.reset-card { width: min(440px, 100%); padding: 32px 28px; border: 1px solid rgba(148,163,184,.2); border-radius: 24px; background: rgba(15,23,42,.78); box-shadow: 0 24px 48px rgba(15,23,42,.35); }
h1 { margin: 0; text-align: center; font-size: 1.8rem; }
.subtitle, .footer { color: #94a3b8; text-align: center; }
label { display: block; margin: 16px 0 8px; font-weight: 600; }
input { width: 100%; padding: 14px; border: 1px solid #64748b; border-radius: 12px; color: #e2e8f0; background: #0f172a; font: inherit; }
input:focus { outline: 2px solid #60a5fa; outline-offset: 2px; }
button { width: 100%; margin-top: 22px; padding: 14px; border: 0; border-radius: 12px; color: white; background: linear-gradient(135deg,#2563eb,#1d4ed8); font: inherit; font-weight: 700; cursor: pointer; }
a { color: #bfdbfe; }
.alert { padding: 12px; border: 1px solid #f87171; border-radius: 12px; color: #fecaca; background: rgba(248,113,113,.12); }
