:root{--ink:#211a1d;--purple:#5b24ec;--soft:#8472f4}
*{box-sizing:border-box}
body{margin:0;min-height:100vh;background:#f7f5fb;color:var(--ink);font-family:Manrope,Arial,sans-serif}
.auth-header{height:88px;display:flex;align-items:center;width:min(1100px,calc(100% - 40px));margin:auto}
.brand{color:inherit;font-size:25px;text-decoration:none}
.auth-shell{width:min(500px,calc(100% - 34px));margin:35px auto 70px;padding:38px;background:#fff;border:1px solid #e7e2ec;border-radius:22px;box-shadow:0 18px 55px #32187512}
.auth-shell h1{margin:0 0 8px;font-size:34px;letter-spacing:-1px}
.intro{margin:0 0 28px;color:#665f64}
.tabs{display:grid;grid-template-columns:1fr 1fr;margin-bottom:25px;border-bottom:1px solid #ddd}
.tab{padding:12px;border:0;border-bottom:2px solid transparent;background:none;font:600 15px Manrope;cursor:pointer}
.tab.active{border-color:var(--purple);color:var(--purple)}
.account-type{margin:0 0 22px;padding:0;border:0}
.account-type legend{margin-bottom:11px;font-size:14px;font-weight:700}
.account-type-options{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.account-type-card{position:relative;display:block;cursor:pointer}
.account-type-card input{position:absolute;width:1px;height:1px;opacity:0}
.account-type-card>span{display:grid;min-height:102px;padding:14px;border:1px solid #d8d1dc;border-radius:12px;background:#fff;align-content:start;gap:6px;transition:border-color .15s ease,box-shadow .15s ease,background .15s ease}
.account-type-card b{font-size:15px}
.account-type-card small{color:#6c646a;font-size:12px;font-weight:400;line-height:1.4}
.account-type-card input:checked+span{border-color:var(--purple);background:#f7f4ff;box-shadow:0 0 0 1px var(--purple)}
.account-type-card input:focus-visible+span{outline:3px solid #d9d0ff;outline-offset:2px}
.signup-fields{display:grid;gap:16px}
.name-fields{display:grid;grid-template-columns:1fr 1fr;gap:12px}
form{display:grid;gap:16px}
label{display:grid;gap:7px;font-size:14px;font-weight:600}
input{width:100%;padding:13px 14px;border:1px solid #cbc5ce;border-radius:9px;font:16px Manrope}
input:focus{outline:2px solid #d9d0ff;border-color:var(--purple)}
button.primary,.google{width:100%;padding:13px;border:0;border-radius:9px;font:600 15px Manrope;cursor:pointer}
.primary{background:var(--purple);color:#fff}
.google{display:flex;align-items:center;justify-content:center;gap:9px;background:#fff;color:var(--ink);border:1px solid #cbc5ce}
.google>span:first-child{font:700 19px Arial;color:#4285f4}
.divider{display:flex;align-items:center;gap:12px;margin:22px 0;color:#8a8288;font-size:13px}
.divider:before,.divider:after{content:'';height:1px;flex:1;background:#ddd}
.forgot,.back{color:var(--purple);font-size:14px;text-align:center}
.message{display:none;margin:18px 0 0;padding:12px;border-radius:8px;font-size:14px;line-height:1.4}
.message.show{display:block}
.message.error{background:#fff0f1;color:#912b35}
.message.success{background:#edfbf2;color:#21633a}
.account-data{margin:25px 0;padding:18px;border-radius:12px;background:#f6f3ff}
.account-data p{margin:5px 0}
.secondary{width:100%;padding:12px;border:1px solid #cbc5ce;border-radius:9px;background:#fff;font:600 15px Manrope;cursor:pointer}
.hidden,[hidden]{display:none!important}
@media(max-width:520px){.auth-shell{margin-top:10px;padding:26px 20px}
.auth-shell h1{font-size:30px}
.account-type-options{grid-template-columns:1fr}
.account-type-card>span{min-height:0}
.name-fields{grid-template-columns:1fr}
}
