:root { --ink:#201b38; --muted:#6b667d; --purple:#6d4aff; --blue:#4068ff; --aqua:#55e4da; --lavender:#f4f2fb; --white:#fff; --line:rgba(45,33,92,.13); --shadow:0 24px 70px rgba(64,43,137,.16); }
* { box-sizing:border-box; }
html { min-height:100%; }
body { min-height:100vh; margin:0; color:var(--ink); background:#f8f7fc; font-family:"DM Sans",sans-serif; -webkit-font-smoothing:antialiased; }
a { color:inherit; text-decoration:none; }
button,input { font:inherit; }
.auth-page { display:grid; grid-template-columns:minmax(360px,.88fr) minmax(520px,1.12fr); min-height:100vh; }
.auth-aside { position:relative; display:flex; flex-direction:column; overflow:hidden; padding:38px clamp(34px,5vw,78px) 52px; color:#fff; background:linear-gradient(145deg,#211d36 0%,#33276a 58%,#5c3ce6 100%); }
.auth-aside::before,.auth-aside::after { content:""; position:absolute; border:1px solid rgba(255,255,255,.08); border-radius:50%; }
.auth-aside::before { width:520px;height:520px;right:-240px;bottom:-200px;box-shadow:0 0 0 65px rgba(255,255,255,.025),0 0 0 130px rgba(255,255,255,.018); }
.auth-aside::after { width:280px;height:280px;left:-160px;top:22%;box-shadow:0 0 0 42px rgba(85,228,218,.035); }
.auth-brand { position:relative;z-index:2;display:inline-flex;width:132px; }
.auth-brand img { width:100%; }
.aside-copy { position:relative;z-index:2;max-width:520px;margin:auto 0 48px; }
.aside-copy .kicker { display:inline-flex;align-items:center;gap:8px;margin-bottom:19px;color:var(--aqua);font-size:12px;font-weight:800;letter-spacing:.04em;text-transform:uppercase; }
.aside-copy .kicker::before { content:"";width:8px;height:8px;background:var(--aqua);border-radius:50%;box-shadow:0 0 0 6px rgba(85,228,218,.13); }
.aside-copy h1 { margin:0 0 20px;font-family:"Manrope",sans-serif;font-size:clamp(40px,4.2vw,67px);line-height:1.02;letter-spacing:-.055em; }
.aside-copy p { max-width:470px;margin:0;color:#c7c4d3;font-size:16px;line-height:1.7; }
.aside-preview { position:relative;z-index:2;display:flex;align-items:center;gap:13px;padding:16px 18px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.1);border-radius:15px;backdrop-filter:blur(10px); }
.aside-preview i { display:grid;place-items:center;flex:0 0 auto;width:38px;height:38px;color:var(--aqua);background:rgba(85,228,218,.1);border-radius:11px; }
.aside-preview span { color:#aaa7ba;font-size:12px;line-height:1.45; }.aside-preview strong { display:block;color:#fff;font-size:13px; }
.auth-main { display:flex;flex-direction:column;padding:32px clamp(28px,6vw,96px);background:radial-gradient(circle at 85% 12%,rgba(109,74,255,.09),transparent 28%),#fbfaff; }
.auth-top { display:flex;align-items:center;justify-content:flex-end;gap:9px;color:var(--muted);font-size:13px; }
.auth-top a { color:var(--purple);font-weight:800; }
.auth-card { width:min(100%,520px);margin:auto; }
.back-link { display:inline-flex;align-items:center;gap:8px;margin-bottom:30px;color:var(--muted);font-size:13px;font-weight:700; }
.back-link:hover { color:var(--purple); }
.form-heading { margin-bottom:32px; }
.form-heading span { color:var(--purple);font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.08em; }
.form-heading h2 { margin:9px 0 10px;font-family:"Manrope",sans-serif;font-size:clamp(32px,4vw,46px);line-height:1.08;letter-spacing:-.04em; }
.form-heading p { margin:0;color:var(--muted);line-height:1.6; }
.form-grid { display:grid;grid-template-columns:1fr 1fr;gap:18px; }
.field { margin-bottom:18px; }.field--full { grid-column:1/-1; }
.field-row { display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:8px; }
.field label { display:block;margin-bottom:8px;color:#403b53;font-size:13px;font-weight:800; }
.field-row label { margin:0; }.field-row a { color:var(--purple);font-size:12px;font-weight:700; }
.input-wrap { position:relative; }
.input-wrap > i { position:absolute;top:50%;left:17px;transform:translateY(-50%);color:#aaa5b8;font-size:14px; }
.input-wrap input { width:100%;height:54px;padding:0 48px 0 46px;color:var(--ink);background:#fff;border:1px solid var(--line);border-radius:12px;outline:0;transition:border-color .2s,box-shadow .2s; }
.input-wrap input::placeholder { color:#aaa6b5; }.input-wrap input:focus { border-color:var(--purple);box-shadow:0 0 0 4px rgba(109,74,255,.1); }
.password-toggle { position:absolute;top:50%;right:10px;display:grid;place-items:center;width:36px;height:36px;padding:0;transform:translateY(-50%);color:#8c879a;background:transparent;border:0;border-radius:8px;cursor:pointer; }
.password-toggle:hover { color:var(--purple);background:var(--lavender); }
.check-field { display:flex;align-items:flex-start;gap:10px;margin:3px 0 24px;color:var(--muted);font-size:13px;line-height:1.5; }
.check-field input { width:18px;height:18px;margin:1px 0 0;accent-color:var(--purple); }.check-field a { color:var(--purple);font-weight:700; }
.submit-button { display:flex;align-items:center;justify-content:center;gap:10px;width:100%;min-height:55px;padding:14px 22px;color:#fff;background:linear-gradient(135deg,var(--purple),var(--blue));border:0;border-radius:12px;box-shadow:0 12px 28px rgba(91,69,238,.24);font-weight:800;cursor:pointer;transition:transform .2s,box-shadow .2s; }
.submit-button:hover { transform:translateY(-2px);box-shadow:0 16px 34px rgba(91,69,238,.31); }
.form-foot { margin:24px 0 0;color:var(--muted);font-size:12px;line-height:1.6;text-align:center; }.form-foot a { color:var(--purple);font-weight:800; }
.form-status { display:none;margin:0 0 18px;padding:13px 15px;color:#493f76;background:#eeebff;border:1px solid #ddd7ff;border-radius:11px;font-size:13px;line-height:1.5; }.form-status.is-visible { display:block; }
.password-hint { display:block;margin-top:7px;color:#8b8698;font-size:11px;line-height:1.45; }
.success-icon { display:grid;place-items:center;width:68px;height:68px;margin-bottom:24px;color:var(--purple);background:#ebe7ff;border-radius:20px;font-size:25px; }
@media(max-width:920px){.auth-page{grid-template-columns:1fr}.auth-aside{min-height:330px;padding:28px}.aside-copy{margin:72px 0 24px}.aside-copy h1{font-size:43px}.aside-preview{display:none}.auth-main{min-height:650px;padding:28px}.auth-top{position:absolute;top:36px;right:28px;color:#c7c4d3}.auth-top a{color:var(--aqua)}}
@media(max-width:560px){.auth-aside{min-height:285px}.aside-copy{margin-top:55px}.aside-copy h1{font-size:36px}.aside-copy p{font-size:14px}.auth-main{padding:26px 20px}.auth-top{display:none}.auth-card{padding:28px 0}.form-grid{grid-template-columns:1fr}.field{grid-column:1/-1}.form-heading h2{font-size:34px}}
.auth-body{margin:0}.auth-shell{display:grid;grid-template-columns:minmax(340px,.85fr) minmax(500px,1.15fr);min-height:100vh}.auth-shell .auth-aside-copy{position:relative;z-index:2;margin:auto 0}.auth-shell .auth-aside-copy h2{max-width:520px;margin:12px 0 18px;font:800 clamp(38px,4vw,62px)/1.05 Manrope,sans-serif}.auth-shell .auth-aside-copy p{max-width:470px;color:#c7c4d3;line-height:1.7}.auth-aside-foot{position:relative;z-index:2;color:#aaa7ba;font-size:12px}.auth-switch{align-self:flex-end;margin:0;color:#777184;font-size:13px}.auth-switch a{color:#6d4aff;font-weight:800}.auth-shell .auth-card h1{margin:9px 0 10px;font:800 clamp(32px,4vw,46px)/1.08 Manrope,sans-serif}.auth-intro{margin:0 0 28px;color:#777184;line-height:1.6}.auth-form{display:grid;gap:9px}.auth-form label{color:#403b53;font-size:13px;font-weight:800}.auth-form input:not([type=checkbox]){width:100%;height:52px;padding:0 15px;border:1px solid #ddd9e6;border-radius:11px;outline:0}.auth-form input:focus{border-color:#6d4aff;box-shadow:0 0 0 4px #6d4aff16}.field-heading{display:flex;justify-content:space-between;margin-top:8px}.field-heading a{color:#6d4aff;font-size:12px}.auth-submit{width:100%;margin-top:13px}.check-row{display:flex;align-items:flex-start;gap:9px;margin-top:8px}.check-row input{margin-top:2px;accent-color:#6d4aff}
@media(max-width:920px){.auth-shell{grid-template-columns:1fr}.auth-shell .auth-aside{min-height:310px}.auth-shell .auth-aside-copy{margin:55px 0 20px}.auth-shell .auth-main{min-height:620px}}
@media(max-width:560px){.auth-shell .auth-aside{min-height:260px}.auth-shell .auth-aside-copy h2{font-size:34px}.auth-shell .auth-main{padding:24px 20px}.auth-switch{display:none}}
