:root{
  --bg1:#3bd4e6;
  --bg2:#8b5cf6;
  --card:#ffffff;
  --text:#0f172a;
  --muted:#64748b;
  --border:#e5e7eb;
  --radius:8px;
}
*{box-sizing:border-box}
html,body{height:100%}
body{margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif;background:linear-gradient(120deg,var(--bg1),var(--bg2));color:var(--text)}
a{color:#2563eb;text-decoration:none}
a:hover{text-decoration:underline}

.auth-bg{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:28px}
.auth-card{width:min(460px, 92vw);background:var(--card);border:1px solid rgba(255,255,255,.3);border-radius:8px;box-shadow:0 20px 60px rgba(0,0,0,.18);position:relative}
.auth-close{position:absolute;top:10px;right:12px;font-size:22px;line-height:1;color:#111827;text-decoration:none;opacity:.65}
.auth-close:hover{opacity:1;text-decoration:none}
.auth-inner{padding:26px 26px 22px}
.auth-title{margin:0 0 16px;font-size:28px;font-weight:800;text-align:center}
.auth-sub{margin:0 0 16px;color:var(--muted);text-align:center}

label{display:block;font-size:14px;color:#111827;margin:12px 0 6px}
input{width:100%;padding:12px 12px;border-radius:8px;border:1px solid #d1d5db;outline:none}
input:focus{border-color:#93c5fd;box-shadow:0 0 0 4px rgba(59,130,246,.18)}
.small-link{display:inline-block;margin-top:10px;font-size:13px;color:#2563eb}
.auth-actions{margin-top:16px}
button{width:100%;padding:12px 14px;border:none;border-radius:8px;background:linear-gradient(90deg,var(--bg1),var(--bg2));color:#fff;font-weight:800;letter-spacing:.3px;cursor:pointer}
button:hover{filter:brightness(.98)}
.divider{height:1px;background:#eef2f7;margin:16px 0}
.bottom{margin-top:14px;text-align:center;color:#111827;font-size:14px}
.notice{margin-top:12px;padding:10px 12px;border-radius:8px;background:#fff1f2;border:1px solid #fecaca;color:#991b1b;font-size:14px}
.success{margin-top:12px;padding:10px 12px;border-radius:8px;background:#ecfeff;border:1px solid #a5f3fc;color:#155e75;font-size:14px}
