:root{
  --blue:#145cff;
  --blue2:#003fc7;
  --dark:#071527;
  --bg:#eef2f8;
  --text:#101828;
  --muted:#667085;
  --line:#e4eaf3;
  --shadow:0 28px 90px rgba(16,24,40,.18);
}
*{box-sizing:border-box}
html,body{
  margin:0;
  min-height:100%;
  font-family:Inter,Arial,sans-serif;
  color:var(--text);
  background:radial-gradient(circle at 20% 10%, #dbeafe 0, transparent 32%),
             radial-gradient(circle at 90% 70%, #c7d2fe 0, transparent 34%),
             var(--bg);
}
a{color:var(--blue);text-decoration:none;font-weight:800}
.auth-shell{min-height:100vh;display:grid;grid-template-columns:1.12fr .88fr;padding:28px;gap:28px}
.brand-side{
  position:relative;overflow:hidden;border-radius:36px;
  background:linear-gradient(90deg,rgba(255,255,255,.95) 0%,rgba(255,255,255,.82) 44%,rgba(255,255,255,.08) 72%),
             linear-gradient(135deg,#cbe5ff,#145cff);
  box-shadow:var(--shadow);padding:34px;
}
.brand-side:after{
  content:"";position:absolute;right:0;top:0;bottom:0;width:58%;
  background:radial-gradient(circle at 35% 25%,rgba(255,255,255,.72),transparent 30%),
             linear-gradient(135deg,#b9dcff,#145cff);
  clip-path:polygon(12% 0,100% 0,100% 100%,0 100%);
}
.topline{position:relative;z-index:2;display:flex;align-items:center;justify-content:space-between}
.logo{font-size:34px;font-weight:950;letter-spacing:-1.5px;color:#071527}.logo span{color:var(--blue)}
.city-pill,.badge,.mini-badge{
  display:inline-flex;align-items:center;border-radius:999px;border:1px solid var(--line);
  background:#fff;color:var(--blue2);font-weight:950;box-shadow:0 8px 24px rgba(16,24,40,.08);
}
.city-pill{padding:10px 14px}.badge{padding:10px 15px}.mini-badge{padding:8px 12px;font-size:12px}
.hero{position:relative;z-index:2;max-width:680px;margin-top:120px}
.hero h1{margin:24px 0 18px;font-size:68px;line-height:1.02;letter-spacing:-3px}
.hero h1 span{color:var(--blue)}
.hero p{max-width:590px;margin:0;color:#344054;font-size:20px;line-height:1.5}
.feature-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:34px}
.feature{
  min-height:116px;border:1px solid rgba(255,255,255,.82);background:rgba(255,255,255,.76);
  backdrop-filter:blur(18px);border-radius:24px;padding:18px;box-shadow:0 16px 40px rgba(16,24,40,.08);
}
.feature b{display:grid;place-items:center;width:48px;height:48px;border-radius:18px;background:#eef4ff;font-size:24px;margin-bottom:12px}
.feature span{font-weight:900}
.stats{position:absolute;z-index:2;left:34px;right:34px;bottom:34px;display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.stats div{border-radius:22px;background:rgba(7,21,39,.78);color:#fff;padding:20px;backdrop-filter:blur(18px)}
.stats strong{display:block;font-size:30px;margin-bottom:4px}.stats span{color:#c7d7f2}
.form-side{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:22px}
.auth-card{
  width:min(100%,520px);border-radius:34px;background:rgba(255,255,255,.92);backdrop-filter:blur(18px);
  border:1px solid rgba(255,255,255,.84);box-shadow:var(--shadow);padding:34px;
}
.card-head{display:flex;justify-content:space-between;gap:18px;align-items:flex-start;margin-bottom:26px}
.card-head h2{margin:14px 0 8px;font-size:40px;letter-spacing:-1.4px}.card-head p{margin:0;color:var(--muted)}
.shield{width:62px;height:62px;border-radius:22px;background:#eef4ff;display:grid;place-items:center;font-size:28px}
form label{display:block;font-weight:850;margin-bottom:16px}
form input{width:100%;margin-top:8px;border:1px solid #d3dcea;border-radius:16px;padding:15px 16px;font:inherit;outline:none;background:#fff}
form input:focus{border-color:var(--blue);box-shadow:0 0 0 4px rgba(20,92,255,.12)}
.row{display:flex;justify-content:space-between;gap:16px;align-items:center;margin:4px 0 22px}
.check{display:flex;align-items:center;gap:9px;margin:0;color:var(--muted);font-weight:700}.check input{width:auto;margin:0}
.btn-primary,.btn-soft,.btn-white{width:100%;border:0;border-radius:16px;padding:15px 18px;font-weight:950;cursor:pointer;font-size:16px}
.btn-primary{background:var(--blue);color:#fff;box-shadow:0 14px 30px rgba(20,92,255,.28)}
.btn-soft{background:#eef4ff;color:var(--blue2);margin-top:12px}
.btn-white{background:#fff;color:#101828;border:1px solid var(--line);margin-top:12px}
.divider{position:relative;text-align:center;color:var(--muted);margin:22px 0 10px}
.divider:before{content:"";position:absolute;left:0;right:0;top:50%;height:1px;background:var(--line)}
.divider span{position:relative;background:rgba(255,255,255,.92);padding:0 12px}
.bottom-text{margin-top:24px;text-align:center;color:var(--muted)}
footer{color:var(--muted);font-size:13px}
@media(max-width:1100px){
  .auth-shell{grid-template-columns:1fr;padding:16px}.brand-side{min-height:680px}.hero h1{font-size:46px}
  .brand-side:after{display:none}.feature-grid,.stats{grid-template-columns:1fr 1fr}.stats{position:relative;left:auto;right:auto;bottom:auto;margin-top:40px}
}
@media(max-width:620px){
  body{background:var(--bg)}.brand-side{display:none}.auth-shell{padding:0}.form-side{min-height:100vh;padding:18px}
  .auth-card{padding:24px;border-radius:28px}.card-head h2{font-size:32px}.row{align-items:flex-start;flex-direction:column}
}
