:root{--ink:#0d1b34;--purple:#632c91;--purple2:#492073;--orange:#ff7200;--muted:#637087;--line:#dfe3eb}*{box-sizing:border-box}body{margin:0;background:#f7f7fb;color:var(--ink);font-family:"Nunito Sans",sans-serif}.portal-shell{min-height:100vh;display:grid;grid-template-columns:minmax(0,1.08fr) minmax(420px,.92fr)}.welcome{position:relative;overflow:hidden;padding:clamp(32px,6vw,88px);display:flex;flex-direction:column;justify-content:center;background:radial-gradient(circle at 90% 15%,#ff72003d,transparent 24%),radial-gradient(circle at 5% 80%,#0879c947,transparent 30%),linear-gradient(145deg,#101b35,#321b65 58%,#642c91);color:#fff}.welcome:after{content:"";position:absolute;right:-110px;bottom:-130px;width:380px;height:380px;border:1px solid #ffffff26;border-radius:50%;box-shadow:0 0 0 55px #ffffff0a,0 0 0 110px #ffffff08}.back{position:absolute;top:30px;left:clamp(32px,6vw,88px);color:#fff;text-decoration:none;font-weight:800}.portal-logo{width:min(330px,72%);margin:45px 0 38px}.eyebrow,.step{font-weight:900;letter-spacing:.14em;font-size:.74rem}.eyebrow{color:#ffc44d}.welcome h1{font:700 clamp(2.4rem,5vw,4.8rem)/.98 Fredoka,sans-serif;max-width:740px;margin:12px 0 22px}.welcome>p{font-size:1.13rem;line-height:1.65;max-width:650px;color:#e3e7f2}.privacy-points{display:grid;gap:13px;margin-top:28px}.privacy-points div{display:flex;gap:13px;align-items:center}.privacy-points span{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:#ffffff21;color:#74d7ff}.privacy-points p{display:flex;flex-direction:column;margin:0}.privacy-points small{color:#c9d0e1}.login-panel{display:flex;flex-direction:column;justify-content:center;align-items:center;padding:32px;background:linear-gradient(135deg,#fff,#f5f2fa)}.login-card{width:min(100%,500px);padding:clamp(28px,5vw,54px);border-radius:28px;background:#fff;box-shadow:0 28px 70px #0d1b341f}.lock{display:grid;place-items:center;width:48px;height:48px;background:#f1e9f8;color:var(--purple);border-radius:15px}.step{color:var(--purple);margin:24px 0 7px}.login-card h2{font:700 clamp(2rem,4vw,3rem)/1 Fredoka,sans-serif;margin:0}.intro{color:var(--muted);line-height:1.55;margin-bottom:28px}form{display:grid;gap:10px}label{font-size:.9rem;font-weight:800;margin-top:7px}input{width:100%;border:1.5px solid var(--line);border-radius:12px;padding:14px 15px;font:inherit;outline:none}input:focus{border-color:var(--purple);box-shadow:0 0 0 4px #632c911a}form button{margin-top:13px;padding:15px 18px;border:0;border-radius:12px;background:linear-gradient(90deg,var(--purple),var(--purple2));color:#fff;font:800 1rem "Nunito Sans";cursor:pointer;display:flex;justify-content:space-between}.message{min-height:22px;margin:3px 0;color:#a33;font-size:.9rem}.message.success{color:#187742}.text-button{border:0;background:none;color:var(--purple);font:800 .92rem "Nunito Sans";padding:4px 0;cursor:pointer}.invite-note{margin-top:25px;padding:18px;border-radius:14px;background:#f5f1fa;border-left:4px solid var(--orange)}.invite-note p{margin:5px 0 0;color:var(--muted);font-size:.9rem}.support{font-size:.83rem;color:var(--muted);margin-top:18px}@media(max-width:850px){.portal-shell{grid-template-columns:1fr}.welcome{padding-top:85px}.portal-logo{width:250px;margin:25px 0}.welcome h1{font-size:2.7rem}.login-panel{padding:28px 18px 45px}}
