/* HONKAI full-screen animated Rate Admin login — v46 */
body.portal-open{overflow:hidden}
.portal-button{display:inline-flex;align-items:center;gap:9px}
.portal-button-dot{width:7px;height:7px;border-radius:50%;background:#fff;box-shadow:0 0 0 4px rgba(255,255,255,.14)}
.portal-button.is-authenticated .portal-button-dot{background:#55d187;box-shadow:0 0 0 4px rgba(85,209,135,.17)}

.admin-login-backdrop{z-index:300;inset:0;padding:0;background:#06101f;animation:adminFadeIn .28s ease both}
.admin-login-backdrop[hidden]{display:none!important}
.admin-login-backdrop.is-closing{animation:adminFadeOut .18s ease both}
.admin-login-modal{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(520px,.8fr);width:100vw;height:100vh;max-width:none;max-height:none;padding:0;overflow:hidden;border:0;background:#fff;box-shadow:none;animation:adminModalIn .52s cubic-bezier(.2,.85,.25,1) both}
.admin-login-backdrop.is-closing .admin-login-modal{animation:adminModalOut .18s ease both}
.admin-login-close{z-index:15;right:24px;top:22px;display:grid;place-items:center;width:42px;height:42px;border:1px solid #dfe4eb;border-radius:50%;background:rgba(255,255,255,.92);color:#0d1c33;font-size:26px;line-height:1;cursor:pointer;box-shadow:0 8px 26px rgba(12,28,52,.12);transition:transform .2s,border-color .2s,background .2s}
.admin-login-close:hover{transform:rotate(90deg);border-color:#bdc4cf;background:#fff}

.admin-logistics-scene{position:relative;min-width:0;height:100vh;overflow:hidden;background:radial-gradient(circle at 34% 20%,rgba(28,84,133,.52),transparent 36%),linear-gradient(135deg,#071426 0%,#0b2440 48%,#101a2e 100%);color:#fff;isolation:isolate}
.admin-logistics-scene:before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(100deg,transparent 58%,rgba(229,35,63,.15)),radial-gradient(circle at 80% 70%,rgba(227,35,63,.22),transparent 30%)}
.admin-logistics-scene:after{content:"";position:absolute;inset:-50% -25%;z-index:-1;background:linear-gradient(105deg,transparent 40%,rgba(255,255,255,.08) 49%,transparent 58%);animation:sceneSweep 8s ease-in-out infinite}
.scene-grid{position:absolute;inset:0;opacity:.26;background-image:linear-gradient(rgba(150,194,228,.11) 1px,transparent 1px),linear-gradient(90deg,rgba(150,194,228,.11) 1px,transparent 1px);background-size:64px 64px;mask-image:linear-gradient(to bottom,black,transparent 82%)}
.scene-orbit{position:absolute;border:1px solid rgba(139,199,234,.18);border-radius:50%;animation:orbitPulse 7s ease-in-out infinite}
.scene-orbit:before,.scene-orbit:after{content:"";position:absolute;width:8px;height:8px;border-radius:50%;background:#7ad4ff;box-shadow:0 0 18px #7ad4ff}
.scene-orbit:before{left:11%;top:15%}.scene-orbit:after{right:14%;bottom:9%}
.scene-orbit-one{width:580px;height:580px;right:-180px;top:-120px}
.scene-orbit-two{width:360px;height:360px;left:-170px;bottom:-80px;animation-delay:-2.3s}

.admin-brand-lockup{position:absolute;z-index:3;left:clamp(34px,5vw,78px);top:clamp(30px,5vh,64px);display:grid;gap:13px}
.admin-logo-frame{position:relative;width:clamp(220px,22vw,320px);display:flex;align-items:center;overflow:hidden;padding:13px 18px;border:1px solid rgba(255,255,255,.55);border-radius:14px;background:rgba(255,255,255,.94);box-shadow:0 16px 38px rgba(0,0,0,.2);animation:logoFloat 5s ease-in-out infinite}
.admin-logo-frame:after{content:"";position:absolute;inset:-30% auto -30% -55%;width:34%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.85),transparent);transform:skewX(-18deg);animation:logoShine 4.8s ease-in-out infinite}
.admin-logo-frame img{display:block;width:100%;height:auto}
.admin-logo-halo{position:absolute;left:-28px;top:-18px;width:240px;height:118px;border-radius:50%;background:rgba(41,139,202,.2);filter:blur(30px);animation:logoHalo 3.5s ease-in-out infinite}
.admin-brand-lockup>span{color:rgba(215,235,249,.62);font-size:9px;font-weight:800;letter-spacing:.28em}

.scene-copy{position:absolute;z-index:3;left:clamp(34px,5vw,78px);top:27%;max-width:660px}
.scene-copy p{margin:0 0 18px;color:#8ed7f2;font-size:10px;font-weight:800;letter-spacing:.24em}
.scene-copy h2{margin:0;color:#fff;font-size:clamp(50px,6.2vw,100px);line-height:.88;letter-spacing:-.065em;text-shadow:0 16px 45px rgba(0,0,0,.26)}
.scene-copy h2 em{color:#e62843;font-style:normal}
.scene-copy>span{display:block;max-width:530px;margin-top:26px;color:rgba(224,237,247,.72);font-size:clamp(13px,1.2vw,18px);line-height:1.7}

.transport-lane{position:absolute;z-index:2;left:clamp(34px,5vw,78px);right:clamp(28px,4vw,66px);height:56px;color:#fff}
.lane-label{position:absolute;left:0;top:-17px;color:rgba(174,209,231,.5);font-size:8px;font-weight:800;letter-spacing:.22em}
.route-line{position:absolute;left:0;right:0;top:28px;height:1px;background:linear-gradient(90deg,rgba(104,166,206,.15),rgba(104,166,206,.55),rgba(104,166,206,.12))}
.route-line i{position:absolute;top:-3px;width:7px;height:7px;border-radius:50%;background:#7ad4ff;box-shadow:0 0 12px #7ad4ff;animation:routePulse 2.6s ease-in-out infinite}
.route-line i:nth-child(1){left:9%}.route-line i:nth-child(2){left:52%;animation-delay:-.8s}.route-line i:nth-child(3){right:7%;animation-delay:-1.6s}
.vehicle{position:absolute;z-index:2;top:-8px;left:-190px;color:#f5fbff;filter:drop-shadow(0 10px 14px rgba(0,0,0,.35));will-change:transform}
.vehicle svg{display:block;width:100%;height:100%}
.air-lane{bottom:31%}.sea-lane{bottom:22%}.road-lane{bottom:13%}.rail-lane{bottom:4%}
.vehicle-air{width:110px;height:46px;animation:vehicleMove 12s linear infinite}
.vehicle-vessel{width:128px;height:61px;animation:vehicleMove 16s linear infinite -5s}
.vehicle-truck{width:120px;height:52px;animation:vehicleMove 10s linear infinite -7s}
.vehicle-train{width:154px;height:55px;animation:vehicleMove 14s linear infinite -9s}
.rail-track{height:3px;background:repeating-linear-gradient(90deg,rgba(159,190,211,.42) 0 22px,transparent 22px 31px)}
.scene-status{position:absolute;z-index:4;right:clamp(28px,4vw,66px);bottom:20px;display:flex;align-items:center;gap:9px;color:rgba(216,233,244,.58);font-size:8px;font-weight:700;letter-spacing:.14em;text-transform:uppercase}
.scene-status i{width:7px;height:7px;border-radius:50%;background:#55d187;box-shadow:0 0 0 5px rgba(85,209,135,.12)}
.scene-status b{margin-left:16px;color:rgba(216,233,244,.35);font-weight:700}

.admin-login-panel{position:relative;z-index:5;display:flex;flex-direction:column;justify-content:center;height:100vh;min-height:640px;overflow-y:auto;padding:76px clamp(42px,4vw,72px) 34px;background:radial-gradient(circle at 100% 0,rgba(231,239,247,.95),transparent 37%),linear-gradient(155deg,#fff,#f8fafc);box-shadow:-30px 0 70px rgba(3,13,28,.2)}
.admin-login-heading{margin-bottom:30px}.admin-login-kicker{display:flex;align-items:center;gap:9px;margin-bottom:22px;color:#7a8493;font-size:9px;font-weight:800;letter-spacing:.19em}.admin-login-kicker i{width:27px;height:2px;background:#e3233f}.admin-login-heading h2{margin:0;color:#0c1c34;font-size:clamp(42px,4.2vw,66px);line-height:.95;letter-spacing:-.05em}.admin-login-heading p{max-width:445px;margin:17px 0 0;color:#6d7582;font-size:14px;line-height:1.7}
.admin-login-panel .portal-login-form{display:grid!important;grid-template-columns:minmax(0,1fr)!important;align-items:stretch!important;gap:18px;width:100%;max-width:620px;margin:0}.admin-field{display:grid;min-width:0;gap:8px!important}.admin-field>label{color:#253349!important;font-size:10px!important;font-weight:700;letter-spacing:.09em!important;text-transform:uppercase}.admin-input-shell{position:relative;display:flex;width:100%;min-width:0;align-items:center}.admin-input-shell input{display:block;width:100%!important;min-width:0;height:60px!important;padding:0 52px 0 48px!important;border:1px solid #d7dce4!important;border-radius:13px!important;background:#fff!important;color:#0c1c34!important;font-size:15px!important;outline:none;box-shadow:0 8px 24px rgba(20,44,72,.045);transition:border-color .2s,box-shadow .2s,background .2s}.admin-input-shell input:focus{border-color:#163a66!important;box-shadow:0 0 0 4px rgba(19,58,102,.09),0 10px 28px rgba(20,44,72,.07)}.admin-input-shell input[aria-invalid="true"]{border-color:#c73545!important;box-shadow:0 0 0 4px rgba(199,53,69,.08)}
.admin-input-icon{position:absolute;z-index:1;left:16px;display:grid;place-items:center;width:18px;height:18px;color:#7f8997;font-size:14px;font-weight:800}.admin-lock-icon{width:14px;height:12px;border:1.7px solid currentColor;border-radius:3px}.admin-lock-icon:before{content:"";position:absolute;bottom:9px;width:8px;height:7px;border:1.7px solid currentColor;border-bottom:0;border-radius:8px 8px 0 0}
.password-toggle{position:absolute;z-index:2;right:13px;display:grid;place-items:center;width:34px;height:34px;border:0;border-radius:50%;background:transparent;color:#6f7987;cursor:pointer}.password-toggle:hover{background:#edf0f4}.password-toggle span{width:18px;height:12px;border:1.6px solid currentColor;border-radius:65% 15% 65% 15%;transform:rotate(45deg)}.password-toggle span:after{content:"";position:absolute;width:4px;height:4px;margin:2px 0 0 2px;border-radius:50%;background:currentColor}.password-toggle[aria-pressed="true"] span:before{content:"";position:absolute;width:22px;height:1.6px;margin:4px 0 0 -3px;background:#c12a3a;transform:rotate(90deg)}
.admin-login-options{display:flex;align-items:center;justify-content:space-between;gap:18px;min-height:24px}.admin-remember{display:flex!important;align-items:center;gap:9px!important;color:#596474!important;font-size:11px!important;font-weight:600!important;letter-spacing:0!important;text-transform:none!important;cursor:pointer}.admin-remember input{width:16px!important;height:16px;accent-color:#132f56}.caps-lock-notice{color:#a56400;font-size:10px;font-weight:700}
.admin-login-submit{display:flex!important;align-items:center;justify-content:space-between!important;width:100%;min-height:56px;margin-top:2px;padding:0 17px 0 23px!important;border:0;border-radius:13px!important;background:linear-gradient(105deg,#0d2342,#164979)!important;color:#fff!important;box-shadow:0 14px 30px rgba(13,35,66,.22);font-size:12px!important;letter-spacing:.055em;cursor:pointer;transition:transform .2s,box-shadow .2s,filter .2s}.admin-login-submit:hover{transform:translateY(-2px);box-shadow:0 18px 34px rgba(13,35,66,.3);filter:brightness(1.06)}.admin-login-submit:disabled{cursor:wait;filter:saturate(.5);transform:none}.admin-login-submit i{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:rgba(255,255,255,.12);font-style:normal;font-size:18px}.admin-login-submit.is-loading i{font-size:0}.admin-login-submit.is-loading i:after{content:"";width:11px;height:11px;border:2px solid rgba(255,255,255,.35);border-top-color:#fff;border-radius:50%;animation:adminSpin .65s linear infinite}
.admin-login-error{margin:15px 0 0;padding:11px 13px;border:1px solid #f0c9ce;border-radius:9px;background:#fff3f5;color:#a41e30;font-size:11px;line-height:1.45}.admin-login-error[hidden]{display:none!important}.admin-login-modal.has-error .admin-login-panel{animation:adminShake .38s ease}.portal-help{display:flex;align-items:flex-start;gap:8px;margin:17px 0 0;color:#7f8997;font-size:10px;line-height:1.55}.portal-help span{color:#e3233f}
.admin-public-note{margin-top:auto;padding-top:22px;border-top:1px solid #e4e8ee}.admin-public-note>span{color:#9aa2ae;font-size:8px;font-weight:800;letter-spacing:.18em}.admin-public-note p{margin:8px 0 6px;color:#344258;font-size:11px;font-weight:700}.admin-public-note .text-link{font-size:10px}.admin-public-note .text-link:after{display:none}
.admin-authenticated{text-align:center}.admin-authenticated[hidden]{display:none!important}.admin-authenticated-check{display:grid;place-items:center;width:74px;height:74px;margin:0 auto 24px;border-radius:50%;background:#e6f6ed;color:#16824a;font-size:30px;box-shadow:0 0 0 11px #f3fbf6}.admin-authenticated .section-label{margin-bottom:8px;color:#16824a}.admin-authenticated h3{margin:0;color:#0c1c34;font-size:34px;letter-spacing:-.04em}.admin-authenticated>p:not(.section-label){margin:10px 0 24px;color:#75808f;font-size:12px}.admin-session-time{display:flex;justify-content:space-between;gap:18px;margin-bottom:20px;padding:13px 14px;border:1px solid #e2e6ec;border-radius:10px;background:#fff;color:#727c8a;font-size:10px}.admin-session-time b{color:#183658;font-variant-numeric:tabular-nums}.admin-portal-logout{margin-top:16px;color:#8b3440!important;font-size:10px!important}
.admin-login-success{position:absolute;z-index:8;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;background:rgba(255,255,255,.97);text-align:center;animation:adminFadeIn .2s ease both}.admin-login-success[hidden]{display:none!important}.admin-login-success>span{display:grid;place-items:center;width:76px;height:76px;margin-bottom:20px;border-radius:50%;background:#e5f7ed;color:#138248;font-size:30px;animation:adminSuccess .5s cubic-bezier(.2,.9,.3,1.3) both}.admin-login-success strong{color:#0c1c34;font-size:27px}.admin-login-success small{margin-top:7px;color:#7d8692}.admin-login-panel.admin-locked .admin-login-submit{opacity:.65}.admin-login-panel.admin-locked .admin-input-shell input{pointer-events:none}

@keyframes adminFadeIn{from{opacity:0}to{opacity:1}}@keyframes adminFadeOut{to{opacity:0}}@keyframes adminModalIn{from{opacity:0;transform:scale(1.015)}to{opacity:1;transform:none}}@keyframes adminModalOut{to{opacity:0;transform:scale(.99)}}@keyframes adminShake{0%,100%{transform:none}25%{transform:translateX(-7px)}55%{transform:translateX(6px)}80%{transform:translateX(-3px)}}@keyframes adminSpin{to{transform:rotate(360deg)}}@keyframes adminSuccess{from{opacity:0;transform:scale(.55) rotate(-20deg)}to{opacity:1;transform:none}}
@keyframes vehicleMove{from{transform:translateX(0)}to{transform:translateX(calc(100vw - 220px))}}@keyframes routePulse{0%,100%{opacity:.25;transform:scale(.7)}50%{opacity:1;transform:scale(1.35)}}@keyframes logoFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-5px)}}@keyframes logoShine{0%,25%{left:-55%;opacity:0}45%{opacity:1}65%,100%{left:125%;opacity:0}}@keyframes logoHalo{0%,100%{opacity:.45;transform:scale(.9)}50%{opacity:.9;transform:scale(1.08)}}@keyframes orbitPulse{0%,100%{opacity:.35;transform:scale(.97) rotate(0)}50%{opacity:.75;transform:scale(1.03) rotate(8deg)}}@keyframes sceneSweep{0%,20%{transform:translateX(-22%);opacity:0}43%{opacity:1}70%,100%{transform:translateX(32%);opacity:0}}

@media(max-width:1050px){.admin-login-modal{grid-template-columns:minmax(0,1.05fr) minmax(460px,.95fr)}.scene-copy h2{font-size:clamp(47px,7vw,76px)}.admin-login-panel{padding-inline:38px}.admin-brand-lockup{left:38px}.scene-copy,.transport-lane{left:38px}.transport-lane{right:28px}}
@media(max-width:820px){.admin-login-modal{display:block;overflow:auto;background:#071426}.admin-logistics-scene{height:42vh;min-height:330px}.admin-login-panel{height:auto;min-height:58vh;padding:64px 34px 32px;box-shadow:0 -24px 60px rgba(3,13,28,.28)}.admin-login-close{position:fixed;right:18px;top:17px}.admin-brand-lockup{top:30px;left:28px}.admin-logo-frame{width:188px;padding:10px 14px}.admin-logo-halo{width:170px;height:80px}.scene-copy{left:28px;top:39%}.scene-copy p{margin-bottom:12px}.scene-copy h2{font-size:49px}.scene-copy>span{display:none}.air-lane{bottom:17%}.sea-lane{bottom:4%}.road-lane,.rail-lane,.scene-status{display:none}.admin-public-note{margin-top:38px}.vehicle-air{animation-duration:9s}.vehicle-vessel{animation-duration:12s}}
@media(max-width:480px){.admin-logistics-scene{height:35vh;min-height:290px}.admin-brand-lockup{top:24px;left:22px}.admin-logo-frame{width:158px;padding:8px 11px;border-radius:10px}.scene-copy{left:22px;top:43%}.scene-copy p{font-size:8px}.scene-copy h2{font-size:41px}.transport-lane{left:22px;right:18px}.air-lane{bottom:15%}.sea-lane{display:none}.admin-login-panel{min-height:65vh;padding:62px 22px 28px}.admin-login-heading{margin-bottom:25px}.admin-login-heading h2{font-size:42px}.admin-login-options{align-items:flex-start;flex-direction:column;gap:8px}.admin-public-note{margin-top:32px}.admin-login-close{right:13px;top:12px}}
@media(prefers-reduced-motion:reduce){.admin-login-backdrop,.admin-login-modal,.admin-login-success,.admin-login-success>span,.admin-login-modal.has-error .admin-login-panel,.admin-logo-frame,.admin-logo-frame:after,.admin-logo-halo,.scene-orbit,.admin-logistics-scene:after,.vehicle,.route-line i{animation:none!important}.vehicle{left:58%}.vehicle-vessel{left:16%}.vehicle-truck{left:68%}.vehicle-train{left:28%}}
