:root{--ink:#10183d;--muted:#66708a;--line:#e4e8f3;--purple:#7137f4;--purple2:#5420d4;--blue:#08a8ef;--lime:#70e6dc;--bg:#f7f9ff;--red:#d64f5e;--green:#23945c}*{box-sizing:border-box}html,body{margin:0;min-height:100%;font-family:"DM Sans",sans-serif;background:var(--bg);color:var(--ink)}body{min-height:100vh}a{color:inherit;text-decoration:none}button,input{font:inherit}.auth-page{min-height:100vh;display:grid;grid-template-columns:minmax(360px,1fr) minmax(440px,1fr)}.brand-panel{position:relative;overflow:hidden;background:#15121d;color:#fff;padding:46px clamp(38px,6vw,90px);display:flex;flex-direction:column;justify-content:space-between}.brand-panel:before,.brand-panel:after{content:"";position:absolute;border-radius:50%;filter:blur(90px);pointer-events:none}.brand-panel:before{width:430px;height:430px;background:#6d4aff;opacity:.5;top:-170px;right:-140px}.brand-panel:after{width:340px;height:340px;background:#a466ff;opacity:.22;bottom:-140px;left:-120px}.logo{position:relative;z-index:1;display:flex;align-items:center;gap:10px;font:800 1.25rem Manrope}.logo-mark{display:grid;place-items:center;width:34px;height:34px;border-radius:11px;background:var(--purple);color:#fff;font-size:.95rem}.brand-message{position:relative;z-index:1;max-width:530px}.eyebrow{color:var(--lime);font-weight:800;letter-spacing:.15em;font-size:.7rem}.brand-message h1{font:800 clamp(3rem,6vw,5.4rem)/.98 Manrope;margin:22px 0;letter-spacing:-.06em}.brand-message p{color:#aaa5b2;font-size:1.05rem;line-height:1.65;max-width:470px}.proof{position:relative;z-index:1;display:flex;flex-wrap:wrap;gap:18px;color:#918b9a;font-size:.75rem}.proof span:before{content:"✓";color:var(--lime);margin-right:7px}.auth-main{display:grid;place-items:center;padding:50px 28px}.auth-card{width:min(455px,100%)}.mobile-logo{display:none}.auth-card h2{font:800 clamp(2rem,4vw,2.75rem) Manrope;letter-spacing:-.045em;margin:0 0 8px}.lead{color:var(--muted);line-height:1.55;margin:0 0 28px}.role-picker{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:22px}.role{display:grid;place-items:center;gap:5px;min-height:76px;border:1px solid var(--line);border-radius:14px;background:#fff;color:#6f6977;font-size:.76rem;font-weight:700}.role span{font-size:1.15rem}.role.active{border-color:var(--purple);color:var(--purple);background:#f0ecff;box-shadow:0 0 0 2px rgba(109,74,255,.08)}.form{display:grid;gap:15px}.field{display:grid;gap:7px}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:11px}.field label{font-size:.75rem;font-weight:700}.field-wrap{height:52px;display:flex;align-items:center;border:1px solid var(--line);border-radius:13px;background:#fff;padding:0 14px;transition:.2s}.field-wrap:focus-within{border-color:var(--purple);box-shadow:0 0 0 3px rgba(109,74,255,.09)}.field-wrap.invalid{border-color:var(--red);background:#fff8f9}.field-wrap>span{color:#9b95a2;margin-right:10px}.field-wrap input{border:0;outline:0;flex:1;min-width:0;background:transparent}.reveal{border:0;background:none;color:var(--purple);font-size:.7rem;font-weight:700}.error{min-height:16px;margin:0;color:var(--red);font-size:.68rem}.check-row{display:flex;align-items:flex-start;gap:9px;color:var(--muted);font-size:.72rem;line-height:1.45}.check-row input{accent-color:var(--purple);margin-top:3px}.check-row a{color:var(--purple);font-weight:700}.button{min-height:52px;border:0;border-radius:999px;background:var(--purple);color:#fff;font-weight:800;box-shadow:0 10px 25px rgba(109,74,255,.22)}.button:hover{background:var(--purple2)}.button:disabled{opacity:.55}.button.secondary{background:#fff;color:var(--ink);border:1px solid var(--line);box-shadow:none}.form-bottom{text-align:center;color:var(--muted);font-size:.82rem;margin-top:22px}.form-bottom a{color:var(--purple);font-weight:800}.forgot{display:block;text-align:right;color:var(--purple);font-weight:700;font-size:.72rem;margin-top:-6px}.separator{display:flex;align-items:center;gap:12px;margin:21px 0;color:#a39da9;font-size:.68rem}.separator:before,.separator:after{content:"";height:1px;background:var(--line);flex:1}.security-note{display:flex;align-items:center;gap:9px;color:#88828f;font-size:.68rem;margin-top:20px;justify-content:center}.success{padding:35px 0;text-align:center}.success-icon{display:grid;place-items:center;width:72px;height:72px;border-radius:50%;background:#e7f9ee;color:var(--green);font-size:2rem;margin:0 auto 20px}.success h3{font:800 1.7rem Manrope;margin:0 0 8px}.success p{color:var(--muted);line-height:1.55}.toast{position:fixed;right:18px;bottom:18px;padding:13px 17px;border-radius:12px;background:#17151f;color:#fff;font-size:.8rem;box-shadow:0 15px 35px rgba(0,0,0,.2)}
@media(max-width:820px){.auth-page{grid-template-columns:1fr}.brand-panel{display:none}.auth-main{padding:32px 20px;align-items:start}.mobile-logo{display:flex;margin-bottom:55px}.auth-card{margin:auto}.auth-card h2{font-size:2.15rem}.role-picker{grid-template-columns:1fr 1fr 1fr}}
@media(max-width:430px){.auth-main{padding:24px 17px}.mobile-logo{margin-bottom:38px}.role{min-height:68px;font-size:.68rem}.field-row{grid-template-columns:1fr}}
.form-error{min-height:0;text-align:center;font-size:.78rem}.field small{color:var(--muted);font-size:.68rem;line-height:1.4}
.brand-panel{background:linear-gradient(145deg,#0d1437 0%,#15173f 58%,#31176d 100%)}.brand-panel:before{background:#7137f4}.brand-panel:after{background:#08a8ef}.brand-lockup{gap:11px}.brand-lockup img{width:58px;height:44px;object-fit:contain}.brand-lockup>span{font:800 1.45rem Manrope,sans-serif;letter-spacing:-.055em}.brand-lockup b{background:linear-gradient(115deg,#a83aff,#08a8ef);background-clip:text;-webkit-background-clip:text;color:transparent}.brand-panel .brand-lockup>span{color:#fff}.button{background:linear-gradient(115deg,#8335f5,#227df2 70%,#08a8ef)}.button:hover{background:linear-gradient(115deg,#6d20e4,#087fcf)}.mobile-logo>span{color:var(--ink)}
