:root{color-scheme:dark;font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Microsoft YaHei",Arial,sans-serif;font-synthesis:none}
*{box-sizing:border-box}
html,body{margin:0;min-width:320px;min-height:100%;background:#030917;color:#f4f8ff}
body{overflow:hidden}
.login-screen{position:relative;isolation:isolate;display:flex;align-items:center;justify-content:flex-end;width:100%;height:100vh;height:100dvh;min-height:570px;overflow:hidden;background:radial-gradient(ellipse 63% 96% at 30% 48%,#0b2c54 0%,#051324 64%,#030915 100%)}
.login-screen:after{content:"";pointer-events:none;position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,transparent 43%,rgba(3,9,21,.08) 57%,rgba(3,9,20,.66) 98%)}
.world-stage{position:absolute;inset:0;overflow:hidden;background-image:url("earth-fallback.webp");background-position:center;background-size:cover;touch-action:none;user-select:none}
.world-stage:after{content:"";pointer-events:none;position:absolute;inset:0;z-index:1;background:radial-gradient(circle at 28% 44%,transparent 27%,rgba(2,9,20,.03) 69%,rgba(1,6,17,.18) 100%)}
#logistics-globe{display:block;width:100%;height:100%;position:absolute;inset:0;opacity:0;transition:opacity .8s ease;touch-action:none;cursor:grab}
#logistics-globe:active{cursor:grabbing}
.world-stage.globe-ready #logistics-globe{opacity:1}
.world-stage.globe-ready{background-image:radial-gradient(ellipse at 40% 52%,#092346 0%,#030917 64%,#020714 100%)}
.ports-layer{position:absolute;inset:0;z-index:2;pointer-events:none;opacity:0;transition:opacity .5s ease}
.world-stage.globe-ready .ports-layer{opacity:1}
.port-pin{position:absolute;top:0;left:0;width:1px;height:1px;pointer-events:none;will-change:transform}
.port-dot{display:block;position:absolute;left:-2px;top:-2px;width:4px;height:4px;border-radius:50%;background:#6cd3ff;box-shadow:0 0 7px 2px rgba(37,186,255,.43)}
.pin-major .port-dot{left:-3px;top:-3px;width:6px;height:6px;background:#e6ffff;box-shadow:0 0 8px 2px rgba(16,184,255,.90),0 0 23px 5px rgba(24,139,238,.38)}
.pin-rail .port-dot{background:#ffb18b;box-shadow:0 0 8px rgba(255,121,91,.77)}
.pin-border .port-dot{background:#d8b1ff;box-shadow:0 0 8px rgba(180,123,251,.65)}
.pin-air .port-dot{background:#cfdbff}
.port-name{position:absolute;left:9px;top:-9px;white-space:nowrap;color:rgba(223,245,255,.94);font-size:10px;line-height:1.35;font-weight:600;letter-spacing:.45px;text-shadow:0 1px 7px #001029,0 0 12px #00101c}
.pin-major .port-name{font-size:12px;color:#fff}
.pin-rail .port-name{color:#ffd5bc}
.sunlight{position:absolute;z-index:0;pointer-events:none;width:min(460px,33vw);height:min(460px,33vw);right:-190px;top:-210px;border-radius:50%;background:radial-gradient(circle,rgba(255,237,179,.66) 0%,rgba(255,173,99,.22) 15%,rgba(255,112,56,.05) 34%,transparent 70%);filter:blur(1px)}
.moon{position:absolute;z-index:0;pointer-events:none;width:49px;height:49px;right:14%;top:11%;border-radius:50%;background:radial-gradient(circle at 32% 28%,#dddde0 2%,#949eaf 24%,#414e65 61%,#11192d 95%);box-shadow:inset -9px -4px 12px #14192b,0 0 12px rgba(191,213,255,.24);opacity:.78}
.moon:after{content:"";position:absolute;inset:0;border-radius:50%;background:radial-gradient(circle at 55% 34%,rgba(33,39,55,.45) 0 9%,transparent 10%),radial-gradient(circle at 27% 58%,rgba(35,44,59,.39) 0 11%,transparent 12%),radial-gradient(circle at 65% 69%,rgba(52,53,64,.3) 0 7%,transparent 8%)}
.login-pane{position:relative;z-index:4;width:min(430px,35vw);margin-right:clamp(44px,6.5vw,138px);flex-shrink:0}
.login-card{padding:48px 41px 46px;background:linear-gradient(145deg,rgba(19,33,58,.89),rgba(8,19,38,.92));border:1px solid rgba(136,170,226,.22);border-radius:22px;box-shadow:0 28px 80px rgba(0,3,15,.53),inset 0 1px rgba(196,224,255,.07);backdrop-filter:blur(22px);-webkit-backdrop-filter:blur(22px)}
.login-brand{display:flex;justify-content:center;margin-bottom:20px}
.brand-orbit{position:relative;display:block;width:50px;height:50px;border:2px solid rgba(112,177,248,.93);border-radius:50%;transform:rotate(-29deg);box-shadow:0 0 16px rgba(29,147,254,.12)}
.brand-orbit:before{content:"";position:absolute;left:-8px;top:18px;width:62px;height:12px;border-top:2px solid #73ceff;border-bottom:1px solid rgba(100,174,248,.47);border-radius:50%;transform:rotate(-21deg)}
.brand-center{position:absolute;width:13px;height:13px;left:17px;top:17px;border-radius:50%;background:#b7e9ff;box-shadow:0 0 15px #4dbbff}
h1{margin:0;text-align:center;font-size:21px;line-height:1.35;letter-spacing:.45px;font-weight:700;overflow-wrap:anywhere}
.login-subtitle{margin:8px 0 0;text-align:center;color:#8facc9;font-size:12px;letter-spacing:1.3px}
.test-env-label{display:block;text-align:center;color:#e2c3a5;font-size:11px;margin-top:8px}
.signin-form{display:flex;flex-direction:column;margin-top:39px}
.signin-form label{font-size:12px;font-weight:600;color:#b8cae1;margin:0 0 9px 2px}
.input-shell{display:flex;align-items:center;height:49px;width:100%;border:1px solid rgba(117,153,203,.30);border-radius:10px;background:rgba(3,15,35,.45);transition:border-color .2s,box-shadow .2s;margin-bottom:22px;overflow:hidden}
.input-shell:focus-within{border-color:#61b7ff;box-shadow:0 0 0 3px rgba(71,140,233,.12)}
.input-shell>svg{height:19px;width:19px;flex-shrink:0;margin:0 12px 0 15px;stroke:#82a5ce;fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.input-shell input{flex:1;min-width:0;height:100%;border:0;outline:0;background:transparent;color:#f8fdff;font-family:inherit;font-size:14px;letter-spacing:.3px}
.input-shell input::placeholder{color:#63809e}
.password-toggle{flex:0 0 42px;height:100%;border:0;background:none;cursor:pointer;display:grid;place-items:center;color:#8ba7c8}
.password-toggle:hover{color:#d0e8ff}
.password-toggle svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.login-submit{width:100%;height:49px;margin-top:10px;padding:0 20px;display:flex;align-items:center;justify-content:center;gap:12px;border:0;border-radius:10px;color:#fff;background:linear-gradient(105deg,#2b8df0,#2263d6);font-size:14px;font-family:inherit;font-weight:700;letter-spacing:1.5px;cursor:pointer;box-shadow:0 8px 25px rgba(24,106,233,.25);transition:transform .16s,filter .16s,box-shadow .16s}
.login-submit span{font-size:20px;line-height:1;font-weight:400;position:absolute;right:20px}
.login-submit{position:relative}
.login-submit:hover{filter:brightness(1.13);box-shadow:0 10px 30px rgba(27,126,255,.40);transform:translateY(-1px)}
.login-submit:active{transform:none}
.password-toggle:focus-visible,.login-submit:focus-visible{outline:2px solid #8ed2ff;outline-offset:3px}
.form-alert{margin-top:20px;padding:11px 12px;font-size:12px;border-radius:9px;border:1px solid rgba(255,117,133,.32);background:rgba(119,21,43,.23);color:#ffc7cc;text-align:center}
.form-alert+.signin-form{margin-top:23px}
@media(max-width:1150px){.login-pane{width:370px;margin-right:4vw}.login-card{padding:40px 34px}.moon{right:9%}}
@media(max-width:700px){
  .login-screen{align-items:flex-end;justify-content:center;min-height:0}
  .login-screen:after{background:linear-gradient(180deg,rgba(1,7,16,.07) 0%,rgba(2,8,19,.22) 25%,rgba(2,8,19,.78) 71%,#030916 100%)}
  .world-stage{background-size:auto 100%;background-position:42% -18vh}
  .login-pane{width:min(92vw,390px);margin:0 0 max(28px,env(safe-area-inset-bottom))}
  .login-card{padding:30px 28px 32px;background:linear-gradient(150deg,rgba(15,31,56,.90),rgba(8,17,33,.94));border-radius:18px}
  .login-brand{margin-bottom:12px;transform:scale(.86)}
  h1{font-size:19px}
  .login-subtitle{font-size:11px}
  .signin-form{margin-top:25px}
  .input-shell{height:47px;margin-bottom:17px}
  .login-submit{margin-top:8px}
  .moon{right:9%;top:7%;width:34px;height:34px}
  .sunlight{right:-200px;top:-200px}
  .pin-major .port-name{font-size:10px}
  .port-name{font-size:9px}
}
@media(max-width:380px){.login-card{padding:24px 23px 25px}.login-pane{margin-bottom:13px}.login-brand{margin-bottom:8px}.signin-form{margin-top:19px}}
@media(max-height:680px) and (min-width:701px){.login-card{padding-top:24px;padding-bottom:27px}.login-brand{margin-bottom:11px}.signin-form{margin-top:24px}.input-shell{margin-bottom:14px}}
@media(max-height:670px) and (max-width:700px){.login-pane{margin-bottom:7px}.login-card{padding-top:17px;padding-bottom:17px}.login-brand{display:none}.signin-form{margin-top:18px}.input-shell{margin-bottom:10px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}}

.world-stage.globe-fallback-animated{background-image:url("earth-fallback.webp")}

.login-assistance{margin-top:22px;text-align:center}.login-assistance a{color:#8dcad4;font-size:12px;text-decoration:none}.login-assistance a:hover{text-decoration:underline}.login-assistance small{display:block;font-size:10px;color:#71899f;margin-top:10px}.test-env-label.env-production{color:#9dddbf;border-color:#42866766;background:#397f5b22}
