/* V12 is strictly scoped to mounted login routes. Existing dashboard CSS stays intact. */
html.geo-login-v12 { color-scheme:light; background:#071822; }
.geo-login-v12 body { margin:0; background:#071822; font-family:Inter,"PingFang SC","Microsoft YaHei",sans-serif; }
.geo-login-v12 #app { position:relative; z-index:2; }
#geo-login-scene { position:fixed; inset:0; overflow:hidden; pointer-events:none; z-index:0; background:#071822; }
#geo-login-scene::after { content:""; position:absolute; inset:0; background:linear-gradient(90deg,rgba(2,13,21,.25),rgba(2,13,21,.02) 57%,rgba(2,13,21,.24)); }
.geo-login-art { position:absolute; width:106%; height:106%; max-width:none; inset:-3%; object-fit:cover; object-position:center; animation:geo-login-drift 32s ease-in-out infinite alternate; }
.geo-login-light { position:absolute; inset:-25%; background:linear-gradient(115deg,transparent 35%,rgba(119,235,229,.06) 46%,rgba(188,255,251,.09) 50%,transparent 60%); animation:geo-login-light 22s ease-in-out infinite alternate; }
#geo-login-story { position:absolute; z-index:3; top:clamp(140px,20vh,230px); left:max(6vw,calc((100vw - 1200px)/2)); width:min(46vw,600px); color:#f4fbfd; pointer-events:none; }
.geo-login-eyebrow { margin:0 0 26px; color:#a4d2d5; font-size:11px; letter-spacing:.19em; line-height:1.6; font-weight:500; }
.geo-login-headline { margin:0; white-space:pre-line; color:#f4fbfd; font-size:clamp(38px,4.3vw,64px); line-height:1.25; letter-spacing:-.035em; font-weight:600; }
.geo-login-description { margin:25px 0 0; font-size:15px; line-height:1.9; color:#bdd0d7; letter-spacing:.01em; }
.geo-login-topics { margin:22px 0 0; color:#87b8bd; font-size:12px; letter-spacing:.12em; }
.geo-login-context { margin:0 0 22px; color:#57717d; font-size:10px; letter-spacing:.11em; line-height:1.8; font-weight:500; }
.geo-login-motion { position:fixed; z-index:20; right:28px; bottom:25px; border:1px solid #a5d2dc40; border-radius:20px; background:#06182080; color:#c6dcdf; padding:7px 13px; font:12px/1.5 Inter,"Microsoft YaHei",sans-serif; cursor:pointer; }
.geo-login-motion:hover { border-color:#9be5df; color:white; }
.geo-login-motion:focus-visible { outline:2px solid #9be5df; outline-offset:4px; }
.geo-login-admin-v12 .login.flex.flex-col { min-height:100svh; box-sizing:border-box; padding:50px max(6vw,calc((100vw - 1200px)/2)); background:none!important; }
.geo-login-admin-v12 .login>.flex-1 { justify-content:flex-end!important; }
.geo-login-admin-v12 .login .login-card { display:block; width:430px; max-width:100%; height:auto!important; border-radius:22px; border:1px solid #ffffff60; background:#fdfefeee; box-shadow:0 24px 90px #00000030; overflow:hidden; backdrop-filter:blur(18px); }
.geo-login-admin-v12 .login .login-banner { display:none!important; }
.geo-login-admin-v12 .login .login-form { box-sizing:border-box; width:100%!important; min-height:440px; padding:40px 38px; background:transparent!important; }
.geo-login-admin-v12 .login .login-form>.text-center { color:#152e3b; font-size:26px; text-align:left!important; font-weight:600; margin-bottom:34px; }
.geo-login-admin-v12 .login .el-input__wrapper { background:#f4f7f8; box-shadow:0 0 0 1px #dce5e9 inset; border-radius:9px; min-height:46px; }
.geo-login-admin-v12 .login .el-input-group__prepend { background:#f4f7f8; border-radius:9px 0 0 9px; }
.geo-login-admin-v12 .login .el-input-group--prepend .el-input__wrapper { border-radius:0 9px 9px 0; }
.geo-login-admin-v12 .login .el-button--primary { min-height:46px; border-radius:9px; background:#087c7a; border-color:#087c7a; color:#fff; box-shadow:none; font-size:15px; }
.geo-login-admin-v12 .login .el-button--primary:hover { background:#086b6b; border-color:#086b6b; }
.geo-login-admin-v12 .login .el-checkbox { color:#647680; }
.geo-login-v12 .layout-footer { color:#adbec5; position:relative; z-index:4; }
.geo-login-v12 .login-page-wrapper { background:transparent!important; }
.geo-login-merchant-v12 .geo-login-host { padding:0!important; background:transparent!important; max-width:none!important; }
.geo-login-v12 .login-bg-video,.geo-login-v12 .login-bg-mask { display:none!important; }
.geo-login-v12 .login-content { padding:132px max(6vw,calc((100vw - 1200px)/2)) 94px!important; min-height:100svh; box-sizing:border-box; }
.geo-login-v12 .login-main { max-width:1200px!important; padding:0!important; min-height:550px!important; align-items:center!important; gap:48px!important; }
.geo-login-v12 .platform-section { width:52%!important; min-height:520px!important; justify-content:flex-end!important; }
.geo-login-v12 .platform-copy { display:none!important; }
.geo-login-v12 .platform-panel { width:min(460px,100%)!important; grid-template-columns:repeat(4,minmax(70px,1fr))!important; gap:10px!important; }
.geo-login-v12 .platform-card { min-height:62px!important; padding:10px 7px!important; gap:7px!important; border-radius:11px!important; background:#081e2b66!important; border-color:#b5e9ee26!important; box-shadow:none!important; backdrop-filter:blur(8px); }
.geo-login-v12 .platform-logo { width:29px!important; height:29px!important; border-radius:7px!important; padding:4px!important; }
.geo-login-v12 .platform-name { font-size:11px!important; color:#d4e2e7; }
.geo-login-v12 .login-form-container { box-sizing:border-box; width:430px!important; min-width:360px!important; min-height:0!important; border:1px solid #ffffff60; border-radius:22px!important; padding:38px 34px!important; background:#fdfefef2!important; box-shadow:0 24px 90px #00000030!important; backdrop-filter:blur(18px); --form-padding-x:34px; }
.geo-login-v12 #app .login-form-container h2 { color:#152e3b!important; font-size:25px!important; line-height:1.4!important; font-weight:600!important; margin-bottom:25px!important; }
.geo-login-v12 .login-form-container .vben-input,.geo-login-v12 .login-form-container .vben-input-password { color:#203b49!important; background:#f4f7f8!important; border-color:#dce5e9!important; border-radius:9px!important; min-height:44px!important; }
.geo-login-v12 .login-form-container input:not([type=checkbox]) { color:#203b49!important; }
.geo-login-v12 .login-form-container input::placeholder { color:#8799a2!important; }
.geo-login-v12 .login-form-container button[aria-label=login] { background:#087c7a!important; border-color:#087c7a!important; color:white!important; border-radius:9px!important; min-height:46px!important; font-size:15px!important; box-shadow:none!important; }
.geo-login-v12 .login-form-container button[aria-label=login]:hover { background:#086b6b!important; }
.geo-login-v12 .login-agreement-text { color:#637982!important; }
.geo-login-v12 .login-agreement-link { color:#087c7a!important; }
.geo-login-v12 .captcha-wrapper .captcha-image { border-radius:6px; }
.geo-login-v12 .login-footer { background:transparent!important; box-shadow:none!important; backdrop-filter:none!important; color:#a6bec7!important; font-size:11px!important; }
.geo-login-v12 .login-footer .filing-item,.geo-login-v12 .login-footer .filing-item a { color:#a6bec7!important; }
.geo-login-motion-paused .geo-login-art,.geo-login-motion-paused .geo-login-light { animation-play-state:paused!important; }
@keyframes geo-login-drift { from { transform:scale(1) translate3d(0,0,0); } to { transform:scale(1.035) translate3d(-.8%,.5%,0); } }
@keyframes geo-login-light { from { transform:translate3d(-20%,0,0); opacity:.3; } to { transform:translate3d(22%,0,0); opacity:.8; } }
@media (prefers-reduced-motion:reduce) { .geo-login-art,.geo-login-light { animation:none!important; } .geo-login-motion { display:none; } }
@media (max-width:1050px) {
  #geo-login-story { left:5vw; width:40vw; }
  .geo-login-headline { font-size:40px; }
  .geo-login-description { font-size:13px; max-width:310px; }
  .geo-login-admin-v12 .login.flex.flex-col { padding:45px 5vw; }
  .geo-login-admin-v12 .login .login-card { width:390px; }
  .geo-login-v12 .login-content { padding-left:5vw!important; padding-right:5vw!important; }
  .geo-login-v12 .login-form-container { min-width:350px!important; width:390px!important; }
  .geo-login-v12 .platform-section { width:40%!important; }
}
@media (min-width:801px) and (max-height:800px) {
  #geo-login-story { top:128px; }
  .geo-login-headline { font-size:48px; }
  .geo-login-description { margin-top:18px; }
  .geo-login-topics { margin-top:16px; }
  .geo-login-v12 .login-content { padding-top:100px!important; padding-bottom:70px!important; }
  .geo-login-v12 .login-main { min-height:480px!important; }
  .geo-login-v12 .platform-section { min-height:470px!important; }
}
@media (max-width:800px) {
  #geo-login-story { position:relative; top:auto; left:auto; width:auto; padding:75px 25px 0; pointer-events:auto; }
  .geo-login-v12 #app { z-index:3; }
  .geo-login-v12 body { display:flex; flex-direction:column; }
  #geo-login-story { order:-1; }
  .geo-login-eyebrow { margin-bottom:15px; font-size:9px; }
  .geo-login-headline { font-size:34px; }
  .geo-login-description { margin-top:14px; font-size:12px; max-width:none; }
  .geo-login-topics { display:none; }
  .geo-login-admin-v12 .login.flex.flex-col { min-height:0; padding:30px 20px 90px; }
  .geo-login-admin-v12 .login>.flex-1 { justify-content:center!important; }
  .geo-login-admin-v12 .login .login-form { min-height:0; padding:30px 28px; }
  .geo-login-v12 .login-content { min-height:0; padding:30px 20px 100px!important; }
  .geo-login-v12 .login-main { min-height:0!important; display:block!important; }
  .geo-login-v12 .platform-section { display:none!important; }
  .geo-login-v12 .login-form-container { width:min(430px,100%)!important; min-width:0!important; margin:0 auto!important; padding:30px 26px!important; --form-padding-x:26px; }
  .geo-login-motion { right:18px; bottom:18px; }
}
