/* Authentication layout, isolated from workspace styles. */
#login-root .login-signup-prompt [data-auth="register"],
#login-root .login-footer [data-auth="login"]{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:40px;padding:10px 20px;border:1px solid #ffffff50;border-radius:12px;color:#fff;font-size:14px;font-weight:750;line-height:1.2;text-decoration:none;box-shadow:0 5px 14px #123e4930;transition:box-shadow .18s,filter .18s}
#login-root .login-signup-prompt [data-auth="register"]{background:linear-gradient(120deg,#078577,#12495b)}
#login-root .login-footer [data-auth="login"]{background:linear-gradient(120deg,#7754cc,#5142a1)}
#login-root .login-footer:has([data-auth="login"]){display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:8px 12px}
#login-root .login-footer [data-auth="login"] .icon{width:17px;height:17px}
#login-root [data-auth="register"]:hover,#login-root [data-auth="login"]:hover{filter:brightness(1.1);box-shadow:0 7px 18px #123e4940}
#login-root [data-auth="register"]:focus-visible,#login-root [data-auth="login"]:focus-visible{outline:3px solid #b497ed;outline-offset:3px}
@media(prefers-reduced-motion:reduce){#login-root [data-auth="register"],#login-root [data-auth="login"]{transition:none}}
#login-root{grid-template-columns:minmax(0,1.04fr) minmax(0,1fr);gap:24px;padding:14px;min-height:100dvh}
#login-root .login-story{min-height:0;padding:clamp(26px,4vw,64px);height:calc(100dvh - 28px)}
#login-root .official-brand{flex:none;width:max-content;max-width:100%;margin:0;padding:8px 10px 18px;gap:10px}
#login-root .official-mark{display:flex;width:46px;height:46px;flex:0 0 46px}
#login-root .official-word{display:block;color:#092a32;font-size:32px;white-space:nowrap}
#login-root .official-word em{color:#009c8b}
#login-root .official-brand:after{display:block;left:66px;bottom:4px;color:#496b77}
#login-root .login-story-copy{margin-top:clamp(24px,5vh,58px)}
#login-root .login-story-copy h1{font-size:clamp(34px,3.8vw,62px);line-height:1.05;letter-spacing:-2px;margin-top:16px}
#login-root .login-story-copy p{font-size:15px;line-height:1.6;margin-top:18px;max-width:340px}
#login-root .login-value-list{margin-top:24px;gap:10px;font-size:13px}
#login-root .login-value-list .icon{width:36px;height:36px;padding:9px}
#login-root .login-mascot-wrap{position:absolute;right:14px;bottom:26px;width:40%;min-height:0;margin:0;pointer-events:none}
#login-root .login-mascot{width:100%;max-height:32vh;object-fit:contain}
#login-root .mascot-speech{top:0;right:80%;font-size:15px;padding:10px}
#login-root .login-copyright{position:absolute;left:clamp(26px,4vw,64px);bottom:28px;font-size:9px;margin:0}
#login-root .login-form-side{min-width:0;padding:64px 28px 22px;align-items:center;justify-content:center}
#login-root .login-form-card{max-width:500px}
#login-root .login-signup-prompt{top:10px;right:20px;font-size:12px}
#login-root .login-welcome-icon{width:52px;height:52px;margin-bottom:20px}
#login-root .login-form-card h2{font-size:clamp(26px,2.5vw,36px)}
#login-root .login-form-card>p{font-size:15px;margin:10px 0 24px}
#login-root .login-form-card .field{margin-bottom:18px;gap:7px}
#login-root .login-form-card .field input{height:48px;padding-left:14px!important;min-width:0}
#login-root #login-form .login-input-wrap input{padding-left:46px!important}
#login-root .login-form-card .primary{height:50px;min-height:50px}
#login-root .login-assistance{margin-top:22px;padding-top:18px}
#login-root .auth-legal-links{margin:20px 0 0;max-width:500px;flex-wrap:wrap;justify-content:center;font-size:10px}
#login-root .login-footer{position:static;display:block;margin-top:16px;padding:0;font-size:12px}
#login-root:has(#login-form) .login-footer{display:none}
#login-root:has(#registration-form) .login-signup-prompt{display:none}
#login-root .login-form-side:has(#registration-form){padding:14px 24px;justify-content:center}
#login-root .login-form-card:has(#registration-form)>p{margin:6px 0 14px;font-size:13px}
#login-root .login-form-card:has(#registration-form)>h2{font-size:27px}
#login-root .auth-plan-selection{padding:8px 12px;margin-bottom:12px}
#login-root .auth-plan-selection>span{margin-bottom:3px}
#registration-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 14px}
#login-root #registration-form .field{margin:0;gap:5px;min-width:0}
#registration-form>.field:has([name=email]),#registration-form>.registration-phone,#registration-form>.form-error,#registration-form>button,.registration-availability{grid-column:1/-1}
#login-root #registration-form input{height:42px}
#login-root .registration-phone{margin:0;padding:12px}
#login-root .registration-phone-title{margin-bottom:7px}
#login-root .registration-phone-fields{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px}
#login-root .registration-phone .field{margin-bottom:8px!important}
#login-root .country-picker-toggle{min-height:42px;padding:6px 10px}
#login-root .registration-phone .btn{min-height:40px;padding:9px 12px}
#login-root .registration-phone-status{min-height:0;margin:6px 0 0;font-size:11px}
#login-root .registration-phone-status:empty{display:none}
#login-root .registration-otp{margin-top:8px}
#login-root .registration-otp[hidden],#login-root .registration-phone[hidden],#login-root .registration-availability[hidden]{display:none}
#login-root .form-error:empty{display:none}
#login-root .registration-availability{padding:12px;background:#eef7f7;border:1px solid #cce4df;border-radius:10px;color:#32525b;font-size:12px;line-height:1.5;margin:0}
#login-root .login-form-side:has(#registration-form) .auth-legal-links{margin-top:12px}
@media(min-width:901px) and (max-height:780px){
 #login-root .login-story{padding:28px 36px}
 #login-root .login-story-copy{margin-top:25px}
 #login-root .login-story-copy h1{font-size:clamp(34px,3.4vw,48px)}
 #login-root .login-story-copy p{font-size:14px;max-width:300px}
 #login-root .login-value-list{margin-top:20px;gap:8px}
 #login-root .login-copyright{left:36px;font-size:8px}
}
@media(max-width:900px){
 #login-root{grid-template-columns:minmax(0,.8fr) minmax(0,1fr);gap:10px}
 #login-root .login-story{padding:24px}
 #login-root .login-story-copy h1{font-size:34px}
 #login-root .login-value-list{font-size:12px}
 #login-root .login-form-side{padding-left:14px;padding-right:14px}
 #login-root .login-mascot-wrap{width:45%;bottom:85px}
 #login-root .mascot-speech{display:none}
 #login-root .official-word{font-size:27px}
}
@media(max-width:760px){
 #login-root{display:flex;flex-direction:column;gap:0;padding:10px;min-height:100dvh}
 #login-root .login-story{height:auto;min-height:0;padding:14px 18px;border-radius:18px}
 #login-root .official-brand{padding:0 0 14px;background:transparent}
 #login-root .official-brand:after{left:56px}
 #login-root .official-mark{width:38px;height:38px;flex-basis:38px}
 #login-root .login-story-copy,#login-root .login-mascot-wrap,#login-root .login-copyright{display:none}
 #login-root .login-form-side{flex:1;min-height:0;padding:64px 14px 22px}
 #login-root .login-signup-prompt{top:16px;right:14px;left:14px;width:auto;transform:none;justify-content:flex-end;gap:8px}
 #login-root .login-welcome-icon{width:42px;height:42px;margin-bottom:14px}
 #login-root .login-form-card h2{font-size:27px}
 #login-root .login-form-side:has(#registration-form){padding:20px 8px}
 #login-root .login-form-card .field input{font-size:16px}
 #login-root .login-assistance{margin-top:18px;padding-top:15px}
}
@media(max-width:380px){#registration-form{grid-template-columns:1fr}#login-root .official-word{font-size:26px}#login-root .login-signup-prompt{font-size:11px}}

@media(min-width:761px) and (max-height:900px){
 #login-root .login-form-side:has(#registration-form){padding-top:0;padding-bottom:0}
 #login-root .login-form-card:has(#registration-form)>.eyebrow{display:none}
 #login-root .login-form-card:has(#registration-form)>h2{font-size:24px}
 #login-root .login-form-card:has(#registration-form)>p{margin:4px 0 10px;font-size:12px}
 #login-root .auth-plan-selection{padding:6px 10px;margin-bottom:8px}
 #login-root .auth-plan-selection>span{display:none}
 #login-root #registration-form{gap:6px 12px}
 #login-root #registration-form .field{gap:3px;font-size:12px}
 #login-root #registration-form input{height:36px}
 #login-root #registration-form .registration-phone{padding:8px}
 #login-root #registration-form .registration-phone-title{margin-bottom:4px}
 #login-root #registration-form .country-picker-toggle{min-height:36px;padding:4px 8px}
 #login-root #registration-form .registration-phone .field{margin-bottom:5px!important}
 #login-root #registration-form .registration-phone .btn{min-height:36px;padding:7px 10px}
 #login-root #registration-form .registration-otp{margin-top:5px}
 #login-root #registration-form .registration-phone-status{font-size:10px;margin-top:4px}
 #login-root #registration-form .form-error:not(:empty){padding:6px 10px;margin:0;font-size:11px}
 #login-root #registration-form>.primary{min-height:44px;height:44px}
 #login-root:has(#registration-form) .login-footer{margin-top:8px;font-size:11px}
 #login-root .login-form-side:has(#registration-form) .auth-legal-links{margin-top:6px}
}
