.authPage{min-height:100dvh;max-width:500px;margin:0 auto;padding:32px 20px;display:flex;flex-direction:column;justify-content:center;background:radial-gradient(circle at 50% 0,rgba(75,221,115,.16),transparent 35%)}
.authBrand{display:flex;align-items:center;gap:14px;margin:0 4px 24px}.authLogo{width:58px;height:58px;flex:0 0 58px;border:1px solid rgba(143,255,177,.18);border-radius:18px;display:block;object-fit:cover;background:#05080d;box-shadow:0 14px 35px rgba(36,193,91,.2)}.authBrand h1{font-size:25px;line-height:1.05;margin:5px 0 0;letter-spacing:-.035em}.authCard{background:linear-gradient(180deg,rgba(18,35,29,.98),rgba(10,20,17,.98));border:1px solid rgba(75,221,115,.2);border-radius:28px;padding:24px;box-shadow:0 24px 70px rgba(0,0,0,.32)}.authCard h2{font-size:27px;line-height:1.08;margin:7px 0 10px}.authCard>p{color:var(--muted);line-height:1.55}.authForm{display:grid;gap:14px;margin-top:20px}.authForm label{font-size:12px;font-weight:850;color:var(--muted)}.authForm input{margin-top:7px}.otpInput{text-align:center;font-size:30px!important;font-weight:950;letter-spacing:.2em}.consentTick{display:grid!important;grid-template-columns:20px 1fr;gap:10px;align-items:start;line-height:1.45}.consentTick input{width:20px;height:20px;margin:2px 0 0}.authError,.authNotice{border-radius:14px;padding:11px 13px;margin:14px 0;font-size:12px;line-height:1.4}.authError{background:rgba(255,95,95,.12);border:1px solid rgba(255,95,95,.3);color:#ffc1c1}.authNotice{background:rgba(75,221,115,.09);border:1px solid rgba(75,221,115,.2);color:#bdf4cc}.authBenefits{display:grid;gap:8px;color:var(--muted);font-size:12px;margin-top:24px}.authBenefits span::first-letter{color:var(--green)}.textBtn{border:0;background:transparent;color:var(--green);font-weight:850;padding:9px}.fullBtn{width:100%;margin-top:10px}.authCard>small{display:block;color:var(--muted);margin-top:16px;line-height:1.45}.authActions{display:grid;gap:9px;margin-top:20px}.authFooter{text-align:center;color:var(--muted);font-size:10px;margin:18px 0 0}.authFooter a{color:var(--green)}.checking{text-align:center}.authSpinner{width:42px;height:42px;border:3px solid rgba(75,221,115,.15);border-top-color:var(--green);border-radius:50%;margin:0 auto 18px;animation:authSpin .8s linear infinite}@keyframes authSpin{to{transform:rotate(360deg)}}@media(max-width:380px){.authPage{padding:24px 14px}.authCard{padding:19px}.authBrand h1{font-size:22px}}
.setupProgress{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;margin-bottom:20px}.setupProgress span{position:relative;height:5px;border-radius:999px;background:rgba(255,255,255,.09)}.setupProgress span.active{background:var(--green)}.setupProgress i{position:absolute;top:-17px;right:0;color:var(--muted);font-size:8px;font-style:normal}.setupProgress span.active i{color:var(--green)}.setupCard{padding-top:29px}.setupBenefit,.firstPlanPreview{padding:13px;border:1px solid rgba(75,221,115,.2);border-radius:17px;background:rgba(75,221,115,.07)}.setupBenefit b,.setupBenefit span{display:block}.setupBenefit b{color:var(--green);font-size:11px;text-transform:uppercase}.setupBenefit span{margin-top:5px;color:var(--muted);font-size:11px;line-height:1.45}.setupActions{display:grid;grid-template-columns:auto 1fr;gap:8px;margin-top:3px}.setupActions>.btn:only-child{grid-column:1/-1}.moduleChoices{display:grid;gap:7px}.moduleChoice{display:grid!important;grid-template-columns:22px 1fr;gap:10px;align-items:center;margin:0!important;padding:11px;border:1px solid var(--line);border-radius:16px;background:rgba(255,255,255,.035)}.moduleChoice input{width:20px;height:20px;margin:0}.moduleChoice b,.moduleChoice small{display:block}.moduleChoice b{color:var(--text)}.moduleChoice small{margin-top:3px;color:var(--muted);font-size:10px}.firstPlanPreview h3{margin:5px 0 8px}.firstPlanPreview ul{margin:0;padding-left:20px;color:var(--muted);font-size:11px;line-height:1.7}@media(max-width:380px){.setupActions{grid-template-columns:1fr}.setupActions>.btn{width:100%}}
.authForm button:disabled{opacity:.65;cursor:wait}.authForm input:disabled{opacity:.8}.authCard b,.authError,.authNotice{overflow-wrap:anywhere}
@media(prefers-reduced-motion:reduce){.authSpinner{animation:none}}
