@font-face{font-family:Poppins;src:url(../assets/fonts/poppins-400.ttf) format("truetype");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:Poppins;src:url(../assets/fonts/poppins-600.ttf) format("truetype");font-weight:600;font-style:normal;font-display:swap}

:root{color-scheme:light;--ink:#152944;--muted:#7787a1;--line:#d7e1ee;--blue:#2864ff;--violet:#7545f5}
*{box-sizing:border-box}
html,body{min-height:100%;margin:0}
body{background:#f5f7fb;color:var(--ink);font-family:Poppins,Arial,sans-serif}
button,input{font:inherit}
a{color:inherit}

.login-page{position:relative;display:grid;min-height:100dvh;place-items:center;padding:28px;overflow:hidden;background:radial-gradient(circle at 12% 12%,rgba(40,100,255,.1),transparent 30%),radial-gradient(circle at 88% 82%,rgba(117,69,245,.1),transparent 32%),#f7f9fc}
.login-page-grid{position:absolute;inset:0;pointer-events:none;background-image:linear-gradient(rgba(40,100,255,.075) 1px,transparent 1px),linear-gradient(90deg,rgba(40,100,255,.075) 1px,transparent 1px);background-position:center top;background-size:48px 48px;filter:blur(.25px);-webkit-mask-image:linear-gradient(to bottom,rgba(0,0,0,.9) 0%,rgba(0,0,0,.62) 48%,transparent 92%);mask-image:linear-gradient(to bottom,rgba(0,0,0,.9) 0%,rgba(0,0,0,.62) 48%,transparent 92%)}
.login-shell{position:relative;z-index:1;display:grid;grid-template-columns:minmax(310px,38%) minmax(0,62%);width:min(1060px,100%);min-height:min(700px,calc(100dvh - 56px));overflow:hidden;border:1px solid rgba(255,255,255,.86);border-radius:32px;background:#f7f9fc;box-shadow:0 30px 90px rgba(12,24,48,.2)}

.login-aside{position:relative;display:flex;min-height:100%;flex-direction:column;padding:42px;overflow:hidden;background:linear-gradient(145deg,var(--blue) 0%,#4e55fb 48%,var(--violet) 100%);color:#fff}
.login-brand{position:relative;z-index:2;display:inline-flex;width:145px}
.login-brand img{display:block;width:100%;height:auto;filter:brightness(0) invert(1)}
.login-aside-copy{position:relative;z-index:2;margin-top:72px}
.login-eyebrow{display:block;margin-bottom:17px;color:rgba(255,255,255,.78);font-size:11px;font-weight:600;letter-spacing:.15em;text-transform:uppercase}
.login-aside h1{max-width:12ch;margin:0;color:#fff;font:500 clamp(36px,4vw,50px)/1.04 Poppins,sans-serif;letter-spacing:-.048em}
.login-aside h1 em{font-style:normal}
.login-aside p{max-width:34ch;margin:24px 0 0;color:rgba(255,255,255,.82);font-size:14px;line-height:1.75}
.login-visual{position:absolute;z-index:0;right:-132px;bottom:-52px;width:560px;height:370px;margin:0;pointer-events:none}
.login-visual img{display:block;width:100%;height:100%;object-fit:contain;opacity:.17;filter:saturate(.7) brightness(1.05)}
.login-trust{position:relative;z-index:2;display:flex;flex-wrap:wrap;gap:15px;margin-top:auto;padding-top:20px;border-top:1px solid rgba(255,255,255,.22);color:rgba(255,255,255,.8);font-size:10px}
.login-trust span{display:flex;align-items:center;gap:7px}
.login-trust i{width:8px;height:8px;border-radius:50%;background:#4bd691;box-shadow:0 0 0 5px rgba(75,214,145,.13)}

.login-main{position:relative;display:grid;min-width:0;place-items:center;padding:56px;background:rgba(255,255,255,.8)}
.login-back{position:absolute;top:24px;right:24px;display:grid;width:42px;height:42px;place-items:center;border:1px solid #dce4ef;border-radius:50%;background:#fff;text-decoration:none;transition:border-color .2s,transform .2s}
.login-back:hover{border-color:var(--blue);transform:translateX(-2px)}
.login-back svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.login-content{width:min(100%,470px)}
.login-step-label{display:block;margin-bottom:18px;color:var(--blue);font-size:11px;font-weight:600;letter-spacing:.15em;text-transform:uppercase}
.login-content h2{max-width:12ch;margin:0;color:var(--ink);font:500 clamp(34px,4vw,46px)/1.06 Poppins,sans-serif;letter-spacing:-.046em}
.login-content>p{margin:15px 0 30px;color:var(--muted);font-size:14px;line-height:1.65}
.login-form{display:grid;gap:18px}
.login-field{display:grid;gap:8px;color:#30445f;font-size:13px;font-weight:500}
.login-field input{width:100%;height:54px;padding:0 17px;border:1px solid var(--line);border-radius:15px;outline:0;background:rgba(255,255,255,.94);color:var(--ink);font:400 14px/1 Poppins,sans-serif;transition:border-color .2s,box-shadow .2s,background .2s}
.login-field input::placeholder{color:#a3afc1}
.login-field input:focus{border-color:#5d64ff;background:#fff;box-shadow:0 0 0 4px rgba(60,91,255,.1)}
.login-password-wrap{position:relative;display:block}
.login-password-wrap input{padding-right:54px}
.login-password-toggle{position:absolute;top:50%;right:10px;display:grid;width:36px;height:36px;padding:0;place-items:center;transform:translateY(-50%);border:0;border-radius:10px;background:transparent;color:#7787a1;cursor:pointer;transition:color .2s,background .2s}
.login-password-toggle:hover,.login-password-toggle:focus-visible{background:#eef3ff;color:var(--blue);outline:0}
.login-password-toggle[aria-pressed="true"]{color:var(--blue)}
.login-password-toggle svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.signup-shell{width:min(1200px,100%);min-height:min(650px,calc(100dvh - 56px));grid-template-columns:minmax(330px,36%) minmax(0,64%)}
.signup-shell .login-main{padding:38px 56px}
.signup-shell .login-content{width:min(100%,620px)}
.signup-shell .login-content>p{margin-bottom:22px}
.signup-shell .login-form{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 18px}
.signup-shell .login-submit,.signup-shell .login-status{grid-column:1/-1}
@media(min-width:781px){.signup-shell{height:calc(100dvh - 56px);min-height:0}.signup-shell .login-aside{padding:32px 42px}.signup-shell .login-aside-copy{margin-top:40px}.signup-shell .login-aside h1{font-size:40px}.signup-shell .login-aside p{margin-top:16px;line-height:1.6}.signup-shell .login-main{padding:28px 56px}.signup-shell .login-step-label{margin-bottom:10px}.signup-shell .login-content h2{font-size:38px}.signup-shell .login-content>p{margin:10px 0 16px}.signup-shell .login-form{gap:10px 18px}.signup-shell .login-field{gap:6px}.signup-shell .login-field input{height:48px}.signup-shell .login-submit{height:48px}.signup-shell .login-status{min-height:14px}.signup-shell .login-help{margin-top:12px!important;padding-top:12px}}
@media(min-width:781px) and (max-height:700px){.recovery-shell{height:calc(100dvh - 56px);min-height:0}.recovery-shell .login-aside{padding:32px 42px}.recovery-shell .login-aside-copy{margin-top:40px}.recovery-shell .login-aside h1{font-size:40px}.recovery-shell .login-aside p{margin-top:16px;line-height:1.6}.recovery-shell .login-main{padding:28px 56px}.recovery-shell .login-step-label{margin-bottom:12px}.recovery-shell .login-content h2{font-size:40px}.recovery-shell .login-content>p{margin:12px 0 20px}.recovery-shell .login-help{margin-top:16px!important;padding-top:16px}}
.login-options{display:flex;align-items:center;justify-content:space-between;gap:20px;color:#71829a;font-size:11px}
.login-options>a{text-decoration:none}
.login-options>a:hover{color:var(--blue)}
.login-remember{display:flex;align-items:center;gap:8px;cursor:pointer}
.login-remember input{width:15px;height:15px;margin:0;accent-color:var(--blue)}
.login-submit{display:flex;width:100%;height:54px;align-items:center;justify-content:center;gap:13px;margin-top:3px;border:0;border-radius:999px;background:linear-gradient(105deg,var(--blue),var(--violet));color:#fff;font-size:13px;font-weight:600;cursor:pointer;box-shadow:0 14px 30px rgba(73,83,247,.22);transition:transform .2s,box-shadow .2s}
.login-submit:hover{transform:translateY(-2px);box-shadow:0 18px 34px rgba(73,83,247,.28)}
.login-submit:disabled{cursor:wait;opacity:.72;transform:none;box-shadow:none}
.login-submit:focus-visible{outline:3px solid rgba(40,100,255,.24);outline-offset:3px}
.login-status{min-height:18px;margin:0!important;color:#d24d49!important;font-size:11px!important}
.login-status.is-success{color:#16845b!important}
.login-help{margin:26px 0 0!important;padding-top:22px;border-top:1px solid #e0e7f1;color:#8491a4!important;font-size:11px!important;text-align:center}
.login-help a{color:var(--blue);font-weight:600;text-decoration:none}

@media(max-width:780px){.login-page{padding:14px}.login-shell{display:block;min-height:calc(100dvh - 28px)}.login-aside{display:none}.login-main,.signup-shell .login-main{min-height:calc(100dvh - 28px);padding:76px 28px 36px}.login-content,.signup-shell .login-content{width:min(100%,480px)}.login-content h2{font-size:38px}.signup-shell .login-form{grid-template-columns:1fr}}
@media(max-width:420px){.login-page{padding:0}.login-shell{min-height:100dvh;border:0;border-radius:0}.login-main{min-height:100dvh;padding:72px 20px 28px}.login-back{top:18px;right:18px}.login-content h2{font-size:34px}.login-options{align-items:flex-start;flex-direction:column;gap:12px}.login-submit{height:52px}}
@media(prefers-reduced-motion:reduce){.login-back,.login-submit,.login-field input{transition:none}}
