@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&family=Plus+Jakarta+Sans:wght@600;700;800&display=swap');

:root{
  --bg:#f4f9ff;
  --card:#ffffff;
  --text:#0f172a;
  --muted:#64748b;
  --line:#d8e4f3;
  --primary:#0a4bd7;
  --primary-2:#22d3ee;
  --primary-soft:#e9f2ff;
  --dark:#0b1220;
  --success:#10b981;
  --shadow:0 18px 50px rgba(15,23,42,.12);
}
*{box-sizing:border-box}
html,body{margin:0;min-height:100%;font-family:'Inter',system-ui,-apple-system,'Segoe UI',sans-serif;background:var(--bg);color:var(--text)}
button,input{font:inherit}
button{cursor:pointer}
.auth-shell{min-height:100vh;min-height:100dvh;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(420px,.95fr)}

.auth-showcase{
  position:relative;
  overflow:hidden;
  padding:34px clamp(26px,4vw,56px);
  background:
    radial-gradient(circle at 15% 20%, rgba(34,211,238,.22), transparent 28%),
    radial-gradient(circle at 85% 30%, rgba(10,75,215,.26), transparent 33%),
    linear-gradient(145deg,#081b52 0%, #0d2f86 48%, #0a4bd7 100%);
  color:#fff;
  display:flex;
  flex-direction:column;
  gap:28px;
}
.showcase-glow{position:absolute;border-radius:999px;filter:blur(18px);opacity:.9;pointer-events:none}
.glow-a{width:260px;height:260px;background:rgba(6,182,212,.16);top:-70px;left:-60px}
.glow-b{width:310px;height:310px;background:rgba(79,70,229,.18);right:-90px;bottom:-90px}
.grid-lines{position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.05) 1px, transparent 1px),linear-gradient(90deg, rgba(255,255,255,.05) 1px, transparent 1px);background-size:34px 34px;mask-image:linear-gradient(to bottom, rgba(0,0,0,.32), rgba(0,0,0,.08));pointer-events:none}
.brand-row,.mobile-brand{display:flex;align-items:center;gap:14px;position:relative;z-index:1}
.brand-icon{width:54px;height:54px;border-radius:18px;display:grid;place-items:center;font-family:'Plus Jakarta Sans',sans-serif;font-weight:800;font-size:28px;color:#fff;background:linear-gradient(135deg,var(--primary),var(--primary-2));box-shadow:0 14px 30px rgba(10,75,215,.30)}
.brand-text strong,.mobile-brand-text strong{display:block;font-size:20px;letter-spacing:2px;font-weight:800}
.brand-text span,.mobile-brand-text span{display:block;font-size:11px;letter-spacing:3px;color:#bfd6ff;text-transform:uppercase;margin-top:3px}
.hero-copy{position:relative;z-index:1;max-width:620px;margin-top:auto}
.eyebrow{display:inline-flex;align-items:center;gap:8px;padding:9px 14px;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.06);backdrop-filter:blur(10px);border-radius:999px;font-size:11px;font-weight:700;letter-spacing:2px;color:#d7e8ff;text-transform:uppercase}
.hero-copy h1{font-family:'Plus Jakarta Sans',sans-serif;font-size:clamp(42px,5vw,74px);line-height:1.04;letter-spacing:-.045em;font-weight:800;margin:18px 0 18px}
.hero-copy h1 span{background:linear-gradient(90deg,#ffffff,#9aefff);-webkit-background-clip:text;background-clip:text;color:transparent}
.hero-copy p{max-width:540px;font-size:16px;line-height:1.8;color:#c8d6eb;margin:0}
.feature-chips{display:flex;flex-wrap:wrap;gap:10px;margin-top:24px}
.feature-chips span{padding:10px 14px;border-radius:999px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.12);font-size:13px;color:#eef6ff}
.preview-card{position:relative;z-index:1;width:min(100%,460px);margin-top:18px;padding:22px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.14);border-radius:24px;backdrop-filter:blur(16px);box-shadow:0 22px 60px rgba(0,0,0,.22)}
.preview-top{display:flex;justify-content:space-between;align-items:center;font-size:13px;color:#dbe7fb}
.preview-top strong{padding:7px 12px;border-radius:999px;background:rgba(16,185,129,.16);color:#99f6e4;font-size:12px}
.preview-stats{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:18px}
.mini-card{padding:16px;border-radius:18px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.1)}
.mini-card small{display:block;color:#c3d4ef;font-size:12px;margin-bottom:8px}
.mini-card b{font-size:28px;color:#fff}
.mini-chart{height:122px;display:flex;align-items:flex-end;gap:10px;margin-top:18px;padding:16px;border-radius:18px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.08)}
.mini-chart span{flex:1;border-radius:12px 12px 4px 4px;background:linear-gradient(180deg,#7dd3fc,#4f46e5)}
.preview-foot{margin-top:12px;color:#c3d4ef;font-size:12px}

.auth-form-side{display:flex;flex-direction:column;justify-content:center;align-items:center;padding:34px clamp(22px,5vw,72px);background:linear-gradient(180deg,#f8fbff 0%, #f3f7fb 100%)}
.mobile-brand{display:none;width:min(100%,470px);margin-bottom:28px}
.form-card{width:min(100%,470px);background:var(--card);border:1px solid rgba(219,227,239,.9);border-radius:30px;padding:34px;box-shadow:var(--shadow)}
.top-label{display:inline-flex;align-items:center;gap:9px;padding:8px 14px;background:var(--primary-soft);color:var(--primary);border-radius:999px;font-size:11px;font-weight:700;letter-spacing:1.8px;text-transform:uppercase}
.top-badge{display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:linear-gradient(135deg,var(--primary),var(--primary-2));color:#fff;font-size:12px}
.form-card h2{font-family:'Plus Jakarta Sans',sans-serif;font-size:42px;line-height:1.08;letter-spacing:-.04em;margin:18px 0 10px;color:#0f172a}
.subtitle{margin:0 0 28px;color:var(--muted);font-size:15px;line-height:1.7}
.alert{margin-bottom:18px;padding:13px 15px;border-radius:16px;background:#fff1f2;border:1px solid #fecdd3;color:#be123c;font-size:13px}
.field-group{margin-bottom:19px}
.field-group label{display:block;margin-bottom:10px;font-size:13px;font-weight:700;color:#334155}
.input-wrap{display:flex;align-items:center;gap:12px;height:58px;padding:0 16px;border:1px solid var(--line);border-radius:16px;background:#fff;transition:.2s ease;box-shadow:0 2px 6px rgba(15,23,42,.03)}
.input-wrap:focus-within{border-color:rgba(79,70,229,.55);box-shadow:0 0 0 4px rgba(79,70,229,.10)}
.input-wrap svg{width:20px;height:20px;stroke:#94a3b8;stroke-width:1.9;fill:none;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}
.input-wrap input{border:0;outline:0;flex:1;min-width:0;background:transparent;color:#0f172a;font-size:15px}
.input-wrap input::placeholder{color:#94a3b8}
.toggle-password{width:36px;height:36px;border:0;background:transparent;border-radius:10px;display:grid;place-items:center;transition:.2s}
.toggle-password:hover{background:#eef2ff}
.submit-btn{margin-top:8px;width:100%;height:58px;border:0;border-radius:17px;background:linear-gradient(135deg,var(--primary),var(--primary-2));color:#fff;font-weight:800;font-size:15px;display:flex;align-items:center;justify-content:center;gap:14px;box-shadow:0 18px 30px rgba(79,70,229,.22);transition:.22s ease}
.submit-btn:hover{transform:translateY(-2px);box-shadow:0 22px 38px rgba(79,70,229,.28)}
.submit-btn svg{width:18px;height:18px;stroke:currentColor;stroke-width:2.2;fill:none;stroke-linecap:round;stroke-linejoin:round}
.submit-btn:focus-visible,.toggle-password:focus-visible{outline:3px solid rgba(79,70,229,.32);outline-offset:3px}
.form-note{margin:18px 0 0;text-align:center;color:#94a3b8;font-size:12px;line-height:1.6}
.page-footer{width:min(100%,470px);display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;color:#94a3b8;font-size:11px;padding-top:22px}

@media (max-width: 980px){
  .auth-shell{grid-template-columns:1fr 1fr}
  .auth-showcase{padding:28px 24px}
  .hero-copy h1{font-size:clamp(34px,4.4vw,54px)}
  .form-card{padding:28px}
}

@media (max-width: 760px){
  .auth-shell{display:block}
  .auth-showcase{display:none}
  .auth-form-side{min-height:100vh;min-height:100dvh;padding:26px 18px 22px}
  .mobile-brand{display:flex}
  .form-card{border-radius:24px;padding:26px 20px}
  .form-card h2{font-size:34px}
  .page-footer{padding-top:18px}
}

@media (max-width: 390px){
  .brand-icon{width:48px;height:48px;font-size:25px}
  .form-card h2{font-size:30px}
  .subtitle{font-size:14px}
  .top-label{font-size:10px}
}

@media (prefers-reduced-motion: reduce){
  *,*::before,*::after{animation:none !important;transition:none !important}
}


.hero-logo{display:block;height:64px;width:auto;max-width:min(100%,320px);object-fit:contain;filter:drop-shadow(0 10px 28px rgba(15,23,42,.18))}
.mobile-logo{display:block;height:52px;width:auto;max-width:min(100%,300px);object-fit:contain}
@media (max-width:760px){.mobile-logo{height:46px;max-width:74vw}.hero-logo{height:56px;max-width:280px}}
