:root { --ink:#252333; --muted:#777284; --line:#e6e1ea; --paper:#fffdf9; --surface:#f3eff5; --violet:#6750a4; --violet-dark:#4e3b80; --violet-soft:#eee8fb; --green:#397858; }
* { box-sizing:border-box; }
body { margin:0; min-height:100vh; font:14px/1.5 Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif; color:var(--ink); background:var(--surface); }
.auth-shell { min-height:100vh; display:grid; grid-template-columns:minmax(360px,46%) 1fr; }
.auth-visual { padding:42px; color:white; background:radial-gradient(circle at 78% 18%,rgba(255,255,255,.16),transparent 26%),radial-gradient(circle at 12% 78%,rgba(255,219,158,.12),transparent 24%),linear-gradient(145deg,#272137,#51416f); display:flex; flex-direction:column; justify-content:space-between; overflow:hidden; }
.brand { display:flex; align-items:center; gap:12px; }.brand-mark { width:44px; height:44px; display:grid; place-items:center; border-radius:15px 15px 15px 5px; background:linear-gradient(145deg,#ad9be1,#7961bd); font:700 23px Georgia,serif; }.brand strong { display:block; font-size:18px; }.brand small { color:#c9c2d2; }
.visual-copy { max-width:540px; margin:auto 0; }.visual-copy span { display:inline-block; padding:6px 10px; border:1px solid rgba(255,255,255,.18); border-radius:30px; color:#d9d2e4; font-size:11px; }.visual-copy h1 { margin:18px 0 12px; max-width:530px; font:500 clamp(34px,4vw,58px)/1.04 Georgia,serif; letter-spacing:-.035em; }.visual-copy p { max-width:470px; color:#cdc5d7; font-size:16px; }.trust { display:flex; gap:24px; color:#c8c1d0; font-size:11px; }.trust b { color:#93d1ad; margin-right:5px; }
.auth-main { padding:34px; background:var(--paper); display:grid; place-items:center; overflow:auto; }.auth-card { width:min(480px,100%); }.auth-card > header { margin-bottom:25px; }.auth-card h2 { margin:0; font-size:29px; letter-spacing:-.035em; }.auth-card header p { margin:7px 0 0; color:var(--muted); }.step { color:var(--violet); font-size:10px; font-weight:800; letter-spacing:.12em; }
.form-grid { display:grid; grid-template-columns:1fr 1fr; gap:15px; }.form-grid .wide { grid-column:1/-1; }.field { display:grid; gap:6px; color:#5f5a6b; font-size:11px; font-weight:700; }.field input,.field select,.field textarea { width:100%; padding:11px 12px; border:1px solid var(--line); border-radius:10px; outline:0; background:white; color:var(--ink); }.field textarea { min-height:82px; resize:vertical; }.field input:focus,.field select:focus,.field textarea:focus { border-color:#9b86ce; box-shadow:0 0 0 3px rgba(103,80,164,.1); }.hint { margin:0; color:var(--muted); font-size:10px; font-weight:400; }
.password-wrap { position:relative; }.password-wrap input { padding-right:44px; }.password-wrap button { position:absolute; right:5px; top:5px; width:34px; height:34px; border:0; background:transparent; color:var(--muted); }
.form-actions { margin-top:21px; display:grid; gap:12px; }.button { min-height:44px; border:0; border-radius:11px; padding:11px 16px; font-weight:800; }.button.primary { color:white; background:var(--violet); box-shadow:0 8px 20px rgba(103,80,164,.2); }.button.primary:hover { background:var(--violet-dark); }.button.secondary { border:1px solid var(--line); background:white; color:var(--ink); }.below { margin:22px 0 0; text-align:center; color:var(--muted); }.below a,.text-link { color:var(--violet); font-weight:800; text-decoration:none; }
.notice { margin-bottom:18px; padding:12px 14px; border-radius:11px; background:var(--violet-soft); color:#56417e; font-size:12px; }.error { background:#f9e3e5; color:#924c58; }
.code-fields { display:flex; justify-content:center; gap:10px; margin:28px 0; }.code-fields input { width:48px; height:55px; border:1px solid var(--line); border-radius:12px; text-align:center; font-size:22px; font-weight:800; outline:0; }.code-fields input:focus { border-color:var(--violet); box-shadow:0 0 0 3px rgba(103,80,164,.1); }
.status-illustration { width:88px; height:88px; margin:0 auto 22px; display:grid; place-items:center; border-radius:30px; color:var(--green); background:#e1f3e8; font-size:38px; }.centered { text-align:center; }.check-list { margin:23px 0; padding:0; list-style:none; text-align:left; }.check-list li { padding:10px 0; border-top:1px solid var(--line); }.check-list b { color:var(--green); margin-right:8px; }
@media(max-width:950px){.auth-shell{grid-template-columns:280px 1fr}.auth-visual{padding:27px}.visual-copy h1{font-size:34px}.trust{display:grid;gap:7px}.auth-main{padding:26px}}
@media(max-width:760px){body{min-width:760px}}

