:root{--blue:#0b84f3;--blue-dark:#066fd1;--ink:#0f2340;--muted:#76859a;--line:#d9e3ee;--soft:#f7fbff}*{box-sizing:border-box}html,body{min-height:100%}body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;color:var(--ink);background:radial-gradient(circle at 12% 8%,rgba(133,197,255,.22),transparent 28%),radial-gradient(circle at 88% 12%,rgba(175,219,255,.18),transparent 24%),linear-gradient(180deg,#f7fbff 0%,#eef7ff 100%)}button,input{font:inherit}[hidden]{display:none!important}.auth-page{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:42px 20px}.account-card{width:min(100%,520px);background:#fff;border:1px solid rgba(191,207,222,.75);border-radius:26px;padding:42px 42px 34px;box-shadow:0 24px 70px rgba(26,71,112,.12)}.card-brand{display:flex;align-items:center;justify-content:center;gap:13px;margin:0 auto 30px;color:var(--ink);text-decoration:none}.brand-mark{display:flex;align-items:flex-end;gap:3px;height:42px}.brand-mark i{display:block;width:12px;height:36px;transform:skew(-30deg);border-radius:2px;background:#1686ec}.brand-mark i:nth-child(2){height:30px;background:#65717f}.brand-mark i:nth-child(3){height:24px;background:#173b67}.brand-word{font-size:27px;font-weight:900;letter-spacing:-1.2px}.brand-word span{color:var(--blue)}.card-heading{text-align:center}.card-heading h1,.card-heading h2{margin:0;color:var(--ink);font-size:clamp(32px,5vw,42px);line-height:1.06;letter-spacing:-1.7px}.card-heading h2{font-size:28px}.card-heading p{margin:12px 0 28px;color:var(--muted);font-size:15px;line-height:1.5}.social-stack{display:grid;gap:10px}.oauth-button{position:relative;min-height:58px;display:flex;align-items:center;justify-content:center;gap:13px;padding:0 18px;border:1px solid #cfdbe7;border-radius:12px;background:#fff;color:#152b47;font-size:16px;font-weight:800;text-decoration:none;transition:border-color .15s,box-shadow .15s,transform .15s}.oauth-button:hover{border-color:#a9bfd4;box-shadow:0 5px 18px rgba(25,63,96,.07);transform:translateY(-1px)}.oauth-button[aria-disabled="true"]{cursor:not-allowed;opacity:.68}.google-g{font-size:24px;font-weight:900;background:conic-gradient(from -45deg,#4285f4 0 25%,#34a853 0 50%,#fbbc05 0 75%,#ea4335 0);-webkit-background-clip:text;background-clip:text;color:transparent}.oauth-badge{position:absolute;right:12px;bottom:4px;max-width:180px;color:#9a6670;font-size:8px;font-weight:700;line-height:1.1;text-transform:uppercase;letter-spacing:.03em}.divider{display:flex;align-items:center;gap:16px;margin:28px 0 22px;color:#617084;font-size:14px;font-weight:700}.divider:before,.divider:after{content:"";height:1px;flex:1;background:#dbe4ed}.otp-form{display:grid;gap:16px}label{display:grid;gap:8px;color:#233a56;font-size:14px;font-weight:800}.input-shell{position:relative}.input-icon{position:absolute;left:17px;top:50%;transform:translateY(-50%);z-index:1;color:#63758b;font-size:20px}.input-shell input{padding-left:49px}input{width:100%;min-height:56px;padding:14px 16px;border:1px solid #c8d6e4;border-radius:11px;background:#fff;color:var(--ink);font-size:15px;outline:none;transition:border-color .15s,box-shadow .15s}input:focus{border-color:var(--blue);box-shadow:0 0 0 3px rgba(11,132,243,.12)}input::placeholder{color:#9aa7b7}.primary{min-height:58px;margin-top:2px;padding:14px 18px;border:0;border-radius:11px;background:linear-gradient(90deg,#0d8af5 0%,#087cf0 100%);color:#fff;font-size:17px;font-weight:800;cursor:pointer;box-shadow:0 9px 22px rgba(11,132,243,.18);transition:background .15s,transform .15s}.primary:hover{background:linear-gradient(90deg,#087be1,#056fce);transform:translateY(-1px)}.primary:disabled{cursor:wait;opacity:.65}.primary span{margin-left:8px;font-size:22px}.text-button{display:block;margin:20px auto 0;padding:0;border:0;background:none;color:var(--blue);font-size:14px;font-weight:700;cursor:pointer}.main-terms{margin:34px 0 0;padding-top:28px;border-top:1px solid #dfe7ef;color:#6e7c8f;font-size:12px;line-height:1.6;text-align:center}.main-terms a{color:var(--blue)}.signin-line{margin:24px 0 0;color:#65758a;font-size:15px}.signin-line button{padding:0;border:0;background:none;color:var(--blue);font-weight:800;cursor:pointer}.tabs,#register-panel,#login-panel{display:none}.password-login #primary-auth-panel,.password-register #primary-auth-panel{display:none}.password-login #login-panel,.password-register #register-panel{display:block}.password-login .account-card,.password-register .account-card{padding-top:38px}.role-picker{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:4px 0 20px}.role,.otp-role{min-height:78px;padding:13px;text-align:left;border:1px solid var(--line);border-radius:12px;background:#fff;color:#57708a;cursor:pointer}.role strong,.role span,.otp-role strong,.otp-role span{display:block}.role strong,.otp-role strong{font-size:14px;color:var(--ink)}.role span,.otp-role span{margin-top:5px;font-size:10px;line-height:1.35}.role.active,.otp-role.active{border-color:var(--blue);background:#f2f8ff}.form-status{margin:18px 0 0;padding:12px 13px;border-radius:9px;background:#edf6ff;color:#155188;font-size:12px;font-weight:700;line-height:1.45}.form-status.error{background:#fff3f2;color:#a3332b}.optional{color:#91a1b0;font-weight:600}small{color:#8193a5;font-size:10px;font-weight:600}.secondary-primary{padding:13px;border:1px solid var(--blue);border-radius:10px;background:#f4f8ff;color:var(--blue);font-size:13px;font-weight:900;cursor:pointer}.auth-subflow{display:grid;gap:2px}.auth-subflow .role-picker{margin:4px 0 2px}@media(max-width:620px){.auth-page{justify-content:flex-start;padding:22px 14px 34px}.account-card{border-radius:20px;padding:30px 20px 26px;box-shadow:0 18px 46px rgba(26,71,112,.1)}.card-brand{margin-bottom:24px}.brand-word{font-size:23px}.brand-mark{height:36px}.brand-mark i{width:10px;height:31px}.brand-mark i:nth-child(2){height:26px}.brand-mark i:nth-child(3){height:21px}.card-heading h1{font-size:34px}.card-heading p{font-size:14px;margin-bottom:24px}.oauth-button{min-height:54px;font-size:15px}.primary{min-height:55px}.signin-line{font-size:14px}.oauth-badge{font-size:7px;max-width:130px}}
