/* CareerCompass-inspired auth layout; see /licenses/careercompass-MIT.txt. */
html.xa-auth-route .desktop-sidebar,html.xa-auth-route .dashboard-page-nav,html.xa-auth-route .ios-header{display:none!important}
html.xa-auth-route #main-content{margin:0!important;padding:0!important;min-height:100dvh;background:#fff}
html.xa-auth-route .mobile-view-container,html.xa-auth-route .ios-container{max-width:none!important;width:100%;margin:0!important;padding:0!important}
html.xa-auth-route .auth-page{display:block!important;padding:0!important;margin:0!important;min-height:100dvh!important;background:#fff!important}
.xa-shell{display:grid;grid-template-columns:1fr 1fr;min-height:100dvh;color:#202023;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Microsoft YaHei",sans-serif}
.xa-art{position:sticky;top:0;height:100dvh;min-height:620px;padding:42px 48px;display:flex;flex-direction:column;justify-content:space-between;overflow:hidden;background:linear-gradient(135deg,#a1a5ad,#747b88 55%,#535d6c);isolation:isolate}
.xa-brand{display:flex;align-items:center;gap:12px;font-size:21px;font-weight:600;color:white!important;text-decoration:none!important;z-index:2}
.xa-brand i{background:#ffffff20;border-radius:10px;padding:10px;font-size:18px}
.xa-characters{position:absolute;width:550px;height:400px;left:50%;bottom:18%;transform:translateX(-50%);transform-origin:bottom center}
/* Scoped equivalents of the upstream Tailwind classes: no global style changes. */
.xa-characters .relative{position:relative}.xa-characters .absolute{position:absolute}.xa-characters .bottom-0{bottom:0}
.xa-characters .flex{display:flex}.xa-characters .items-center{align-items:center}.xa-characters .justify-center{justify-content:center}
.xa-characters .gap-8{gap:32px}.xa-characters .gap-6{gap:24px}.xa-characters .rounded-full{border-radius:9999px}
.xa-characters .w-20{width:80px}.xa-characters [class~="h-[4px]"]{height:4px}.xa-characters [class~="bg-[#2D2D2D]"]{background:#2d2d2d}
.xa-characters .transition-all{transition-property:all;transition-duration:150ms;transition-timing-function:cubic-bezier(.4,0,.2,1)}
.xa-characters .duration-700{transition-duration:700ms}.xa-characters .duration-200{transition-duration:200ms}.xa-characters .duration-150{transition-duration:150ms}
.xa-characters .ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}.xa-characters .ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}
.xa-legal,.xa-mobile-legal{display:flex;gap:24px;z-index:2}.xa-legal button,.xa-mobile-legal button{background:none;border:0;padding:0;font-size:13px;color:#f5f5f7;cursor:pointer}.xa-legal button:hover{text-decoration:underline}
.xa-form-side{min-width:0;display:flex;flex-direction:column;padding:28px 48px 24px;background:#fff}
.xa-top{display:flex;align-items:center;justify-content:space-between;gap:16px;font-size:13px;min-height:32px}
.xa-home{color:#777!important;text-decoration:none!important}.xa-home:hover{color:#222!important}
.xa-language{position:relative}.xa-language summary{cursor:pointer;list-style:none;color:#555;padding:6px}.xa-language summary::-webkit-details-marker{display:none}.xa-language>div{position:absolute;right:0;top:36px;z-index:8;min-width:200px;padding:6px;background:#fff;border:1px solid #eee;border-radius:12px;box-shadow:0 12px 40px #20202312}.xa-language button{display:flex;align-items:center;gap:10px;width:100%;border:0;background:transparent;padding:11px;border-radius:7px;text-align:left;color:#333;cursor:pointer}.xa-language button:hover{background:#f3f3f4}
.xa-form-slot{flex:1;display:flex;align-items:center;justify-content:center;padding:32px 0}
html.xa-auth-route .auth-card{max-width:420px!important;width:100%;min-height:0!important;padding:0!important;margin:0!important;border:0!important;border-radius:0!important;box-shadow:none!important;background:transparent!important}
html.xa-auth-route .xa-register .auth-card{max-width:500px!important}
.xa-heading{text-align:center;margin-bottom:36px}.xa-heading h1{font-size:30px;font-weight:700;line-height:1.3;letter-spacing:-1px;margin:0 0 10px;color:#18181b}.xa-heading p{font-size:14px;line-height:1.6;color:#888;margin:0}
.xa-old-head,.xa-shell .auth-tabs{display:none!important}.xa-mobile-brand{display:none}
html.xa-auth-route .auth-panel{margin-top:0!important}
html.xa-auth-route .auth-form{padding:0!important;background:transparent!important;box-shadow:none!important;border:0!important}
html.xa-auth-route .auth-form-group{margin:0 0 22px;min-width:0}
html.xa-auth-route .auth-label{display:block;font-size:13px;font-weight:500;color:#252529;margin-bottom:9px}
html.xa-auth-route .auth-input{display:block;width:100%;height:48px!important;min-height:48px;padding:0 16px;font-size:14px;color:#242427!important;background:white!important;border:1px solid #e6e6e9!important;border-radius:24px!important;box-shadow:none!important;transition:border-color .2s,box-shadow .2s!important}
html.xa-auth-route .auth-input::placeholder{color:#a1a1aa;font-size:12px}
html.xa-auth-route .auth-input:focus{outline:0;border-color:#8b8b98!important;box-shadow:0 0 0 3px #30303c08!important}
.xa-password{position:relative}.xa-password input{padding-right:48px!important}.xa-password button{position:absolute;right:10px;top:8px;width:32px;height:32px;display:grid;place-items:center;background:none;border:0;color:#8b8b94;cursor:pointer;border-radius:50%}.xa-password svg{width:20px;height:20px}.xa-password button[aria-pressed=true]{color:#29292e;background:#f2f2f4}
html.xa-auth-route #login-form>div:not(.auth-form-group){font-size:12px!important;color:#777!important;line-height:1.7!important;margin:14px 0!important}
html.xa-auth-route #login-form a{color:#34343a!important;text-decoration:none!important}
html.xa-auth-route input[type=checkbox]{accent-color:#27272a!important;width:15px;height:15px;flex-shrink:0}
html.xa-auth-route .auth-btn{height:48px!important;min-height:48px;width:100%;border:1px solid #252529!important;border-radius:24px!important;background:#252529!important;color:white!important;box-shadow:none!important;font-size:15px;font-weight:600;margin:10px 0 0!important;transition:background .2s,transform .2s!important;cursor:pointer}
html.xa-auth-route .auth-btn:hover{background:#424247!important;transform:translateY(-1px)!important}html.xa-auth-route .auth-btn:active{transform:translateY(0)!important}html.xa-auth-route button:disabled{opacity:.55;cursor:wait}
.xa-shell button:focus-visible,.xa-shell a:focus-visible,.xa-shell summary:focus-visible{outline:2px solid #575761;outline-offset:4px}
html.xa-auth-route .auth-switch{margin-top:28px!important;text-align:center;color:#999;font-size:13px}
html.xa-auth-route .auth-switch-btn,html.xa-auth-route .auth-forgot-btn{border:0;background:none;color:#29292e!important;font-size:13px;font-weight:600;padding:0 0 0 7px;cursor:pointer}
html.xa-auth-route #login-form>.auth-forgot-password{text-align:right;border:0!important;font-size:12px!important;margin:16px 0 0!important;padding:0!important}.xa-shell .auth-forgot-text{display:none}
html.xa-auth-route #register-form{display:grid;grid-template-columns:1fr 1fr;gap:18px 16px}html.xa-auth-route #register-form .auth-form-group{margin:0}html.xa-auth-route #register-form .auth-btn{grid-column:1/-1;margin-top:6px!important}
html.xa-auth-route #register-form .auth-form-group:has([name=phone]),html.xa-auth-route #register-form .xy-register-sms-field{grid-column:1/-1}
html.xa-auth-route #register-form .auth-form-group:has([name=phone])>div{border:1px solid #e6e6e9;border-radius:24px;overflow:hidden}
html.xa-auth-route #register-form .auth-form-group:has([name=phone]) span{border:0!important;background:#f7f7f8!important;color:#666!important;flex-basis:60px!important;font-size:13px}
html.xa-auth-route #register-form input[name=phone]{border:0!important;border-radius:0!important}
html.xa-auth-route .xy-register-sms-btn{height:48px!important;background:#f5f5f6!important;color:#333!important;border:1px solid #e6e6e9!important;border-radius:24px!important;flex-basis:116px!important;font-size:12px!important;box-shadow:none!important}
.xa-mobile-legal{justify-content:center;font-size:12px}.xa-mobile-legal button{color:#999}.xa-mobile-legal span{color:#bbb}
@keyframes xa-blink{0%,44%,48%,100%{transform:scaleY(1)}46%{transform:scaleY(.12)}}
@media(min-width:1000px){.xa-mobile-legal{visibility:hidden}}
@media(max-width:1200px) and (min-width:1000px){.xa-characters{transform:translateX(-50%) scale(.85)}.xa-form-side{padding-left:32px;padding-right:32px}}
@media(max-width:999px){.xa-shell{grid-template-columns:1fr}.xa-art{display:none}.xa-form-side{min-height:100dvh;padding:20px 28px}.xa-form-slot{padding:32px 0 40px}.xa-mobile-brand{display:block;text-decoration:none!important;color:#27272a!important;font-size:18px;font-weight:650;margin-bottom:32px}.xa-heading{margin-bottom:28px}}
@media(max-width:480px){.xa-form-side{padding:18px 24px}.xa-heading h1{font-size:27px}html.xa-auth-route #register-form{grid-template-columns:1fr;gap:16px}.xa-register .xa-form-slot{padding-top:20px}.xa-register .xa-mobile-brand{margin-bottom:20px}.xa-register .xa-heading{margin-bottom:24px}}
@media(prefers-reduced-motion:reduce){.xa-shell *{animation:none!important;transition:none!important}}
html.xa-auth-route .auth-page{width:100%!important;max-width:none!important}
html.xa-auth-route .auth-panel{padding:0!important;background:transparent!important;border:0!important}
html.xa-auth-route #login-form>.auth-forgot-password{display:block!important;text-align:right!important}

/* Keep the desktop composition usable at browser zoom and on short screens. */
@media(min-width:860px) and (max-width:999px){
 .xa-shell{grid-template-columns:44% 56%}.xa-art{display:flex;padding:28px;min-height:0}
 .xa-characters{transform:translateX(-50%) scale(.66);bottom:15%}
 .xa-form-side{padding:16px 28px}.xa-mobile-brand{display:none}.xa-mobile-legal{visibility:hidden}
}
@media(min-width:860px) and (max-height:700px){
 .xa-art{min-height:0;padding:24px}.xa-characters{transform:translateX(-50%) scale(.65);bottom:14%}
 .xa-form-side{padding-top:12px;padding-bottom:12px}.xa-form-slot{padding:12px 0}
 .xa-heading{margin-bottom:18px}.xa-heading h1{font-size:27px}
 html.xa-auth-route .auth-form-group{margin-bottom:14px}
 html.xa-auth-route .auth-switch{margin-top:16px!important}
 .xa-mobile-legal{height:0;overflow:hidden}
}
@media(max-width:859px) and (max-height:700px){
 .xa-form-side{padding-top:12px}.xa-form-slot{padding:16px 0 24px}
 .xa-mobile-brand{margin-bottom:16px}.xa-heading{margin-bottom:20px}
}

/* Auth routes render in place; keep decorative character transitions only. */
html.xa-auth-route .ios-container,html.xa-auth-route .auth-page,html.xa-auth-route .auth-card,html.xa-auth-route #main-content{animation:none!important;transform:none!important;opacity:1!important;transition:none!important}
html[data-main-template="minimal"] .auth-page:not(:has(.xa-shell)){visibility:hidden}
.xa-top{justify-content:flex-end}
html.xa-auth-route .auth-form a,html.xa-auth-route .auth-form a:hover{text-decoration:none!important}
html[data-main-template="minimal"] .device-search-overlay:has(#policy-modal-panel){position:fixed!important;inset:0!important;width:100%!important;height:100dvh!important;display:flex!important;align-items:center!important;justify-content:center!important;padding:16px!important;box-sizing:border-box!important;z-index:10050!important}
html[data-main-template="minimal"] #policy-modal-panel{position:relative!important;inset:auto!important;margin:0!important;width:min(760px,100%)!important;max-width:100%!important;max-height:calc(100dvh - 32px)!important;display:flex!important;flex-direction:column!important}
html[data-main-template="minimal"] #policy-modal-panel>div:nth-child(2){min-height:0;overflow-y:auto!important;max-height:none!important}
html[data-main-template="minimal"] #policy-modal-panel>div:first-child,html[data-main-template="minimal"] #policy-modal-panel>div:last-child{flex-shrink:0}
