/* Shared sign-in and registration artwork. The Earth is a transparent image so the stars and light can move independently. */
.auth-visual{background:radial-gradient(circle at 62% 25%,#194257 0,#0a243b 20%,transparent 49%),radial-gradient(circle at 85% 21%,#733a20 0,transparent 33%),linear-gradient(153deg,#07111e 4%,#14273b 56%,#111519 100%)}
.admin-login .auth-visual{background:radial-gradient(circle at 62% 25%,#194257 0,#0a243b 20%,transparent 49%),radial-gradient(circle at 85% 21%,#733a20 0,transparent 33%),linear-gradient(153deg,#07111e 4%,#14273b 56%,#111519 100%)}
.auth-visual:before{display:none}
.auth-visual:after{opacity:.7;background-image:radial-gradient(1.5px 1.5px at 13% 18%,#fff,transparent),radial-gradient(1px 1px at 74% 9%,#fff,transparent),radial-gradient(2px 2px at 39% 38%,#a9ecff,transparent),radial-gradient(1px 1px at 90% 53%,#fff,transparent),radial-gradient(1.5px 1.5px at 16% 75%,#ffcc9c,transparent),radial-gradient(1px 1px at 60% 85%,#fff,transparent);background-size:240px 260px,310px 330px,375px 350px,205px 215px,290px 290px,155px 170px;mask-image:linear-gradient(#000 0%,#0009 76%,transparent)}
.brand-mark{background:linear-gradient(135deg,#ffad5d 0%,#ff651a 38%,#af310c 100%);border-color:#ffd5a0;box-shadow:inset 0 2px 2px #fff8,inset 0 -5px 10px #80250a70,0 9px 20px #0006,0 0 20px #ff68294a;transform:perspective(120px) rotateY(-7deg)}
.brand-mark i{text-shadow:0 2px 2px #852c0a}
.sky{inset:70px -18px auto auto;width:480px;height:390px;opacity:1;transform:none;overflow:visible}
.starfield{position:absolute;inset:0;background-image:radial-gradient(circle at 12% 14%,#fff 0 1px,transparent 2px),radial-gradient(circle at 73% 21%,#b9eeff 0 1px,transparent 3px),radial-gradient(circle at 20% 69%,#ffd7ab 0 1px,transparent 3px),radial-gradient(circle at 84% 75%,#fff 0 1px,transparent 2px),radial-gradient(circle at 38% 10%,#fff 0 1px,transparent 2px),radial-gradient(circle at 63% 92%,#9ed9f9 0 1px,transparent 3px);animation:stars-breathe 6s ease-in-out infinite alternate}
.starfield:before,.starfield:after{content:'';position:absolute;display:block;width:4px;height:4px;border-radius:50%;background:#fff;box-shadow:0 0 5px 2px #c5ecff,0 0 20px 5px #5fbaf76b;left:90px;top:100px;animation:star-twinkle 4.7s ease-in-out infinite}
.starfield:after{left:420px;top:280px;width:3px;height:3px;animation-delay:2.2s}
.global-network{position:absolute;inset:0;filter:none}
.planet-halo{position:absolute;left:64px;top:18px;width:350px;height:350px;border-radius:50%;background:radial-gradient(circle,#2ce1ff30 0,#2573ae23 40%,transparent 72%);filter:blur(13px);animation:halo-pulse 5.5s ease-in-out infinite}
.exchange-links{position:absolute;inset:0;z-index:1;width:100%;height:100%;overflow:visible;pointer-events:none}
.exchange-links path{fill:none;stroke:#8de8faab;stroke-width:1.6;stroke-linecap:round;stroke-dasharray:2 6;filter:drop-shadow(0 0 5px #65dfff);animation:exchange-flow 6s linear infinite}
.exchange-links path:nth-child(even){stroke:#ffc78aab;filter:drop-shadow(0 0 5px #ffad67);animation-direction:reverse}
.exchange-links path:nth-child(2){animation-delay:-1.5s}.exchange-links path:nth-child(3){animation-delay:-3s}.exchange-links path:nth-child(4){animation-delay:-4.5s}
.earth-render{position:absolute;left:104px;top:50px;width:272px;height:272px;object-fit:contain;filter:drop-shadow(0 0 11px #41d9ffb0) drop-shadow(0 0 40px #1d83b580);animation:earth-hover 7s ease-in-out infinite}
.planet-orbit{position:absolute;left:62px;top:102px;width:355px;height:190px;border:1px solid #78d7ee68;border-radius:50%;transform:rotate(-22deg);box-shadow:0 0 14px #64c5e930;pointer-events:none}
.orbit-back{left:88px;top:72px;width:307px;height:274px;border-color:#f3b37c35;transform:rotate(32deg);box-shadow:none}
.exchange-node{position:absolute;z-index:5;display:flex;align-items:center;gap:5px;width:max-content;height:31px;padding:4px 7px;border:1px solid #9deeff8c;border-radius:999px;background:linear-gradient(145deg,#13334ccc,#061c31e8);box-shadow:inset 0 1px 1px #ffffff38,0 6px 16px #00101e8c,0 0 13px #51dfff45;color:#fff;font:700 9px 'DM Sans',Arial,sans-serif;letter-spacing:.5px;backdrop-filter:blur(8px);animation:exchange-node-glow 4s ease-in-out infinite}
.exchange-node img{display:block;width:19px;height:14px;object-fit:cover;border-radius:2px;box-shadow:0 1px 3px #0008}
.node-eu{left:58px;top:51px}.node-ae{left:20px;top:186px;animation-delay:1s}.node-gb{left:auto;right:20px;top:89px;animation-delay:2s}.node-us{left:auto;right:13px;top:267px;animation-delay:3s}
.meteor{position:absolute;z-index:3;width:180px;height:3px;border-radius:100%;opacity:0;background:linear-gradient(90deg,transparent 0%,#6ccaff4d 32%,#c9ecff 75%,#fff 100%);filter:drop-shadow(0 0 5px #8fdcff) drop-shadow(0 0 12px #ffb96e);transform:rotate(-31deg);animation:meteor-cross 7.2s linear infinite}
.meteor:after{content:'';position:absolute;right:-3px;top:-2px;width:7px;height:7px;border-radius:50%;background:#fff;box-shadow:0 0 8px 3px #a7e8ff,0 0 20px 6px #ffbb7680}
.meteor-one{left:-35px;top:165px;animation-delay:-3.1s}
.meteor-two{left:183px;top:304px;animation-delay:-.7s;animation-duration:8.5s}
.meteor-three{left:14px;top:313px;animation-delay:-5.4s;animation-duration:9.4s}
.visual-copy,.visual-stats,.brand{position:relative;z-index:4}
.auth-shell:has(.signup-panel) .visual-copy{margin:392px 0 30px}
.auth-shell:has(.signup-panel) .visual-stats{margin-top:auto}
.signup-panel .auth-content{margin-top:26px;margin-bottom:30px}
.signup-panel{isolation:isolate;overflow:hidden;background:radial-gradient(circle at 97% 6%,#b8eff32b 0,transparent 26%),radial-gradient(circle at 7% 35%,#ffd9ae4a 0,transparent 32%),linear-gradient(145deg,#fffdfb,#fff8f1 59%,#f5f9fc);box-shadow:inset 1px 0 0 #fff9,inset 0 0 70px #fff8}
.signup-panel:before{content:'';position:absolute;z-index:0;top:-170px;right:-160px;width:480px;height:480px;border-radius:50%;background:radial-gradient(circle,#fff 2%,#d8f7f34f 27%,transparent 67%);filter:blur(5px);pointer-events:none;animation:signup-light 9s ease-in-out infinite alternate}
.signup-panel:after{content:'';position:absolute;z-index:0;top:-80px;right:15%;width:140px;height:520px;transform:rotate(30deg);background:linear-gradient(90deg,transparent,#ffffffa8,transparent);opacity:.45;filter:blur(13px);pointer-events:none}
.signup-panel>*{position:relative;z-index:1}
.signup-guide{display:flex;align-items:center;gap:11px;margin:3px 0 18px;padding:12px;border:1px solid #dce9ec;border-radius:14px;background:linear-gradient(120deg,#f0f9fa,#fff9f2);box-shadow:inset 0 1px 1px #fff,0 8px 18px #425e6420}
.guide-orb{flex:0 0 33px;width:33px;height:33px;display:grid;place-items:center;border-radius:11px;background:radial-gradient(circle at 30% 25%,#d8ffff,#40b8c7 43%,#135776);box-shadow:inset 0 1px 2px #fff9,0 0 11px #33c7d966;color:#fff;font-size:18px}
.guide-copy{min-width:0;flex:1}.guide-copy b{display:block;color:#31516a;font-size:9px;letter-spacing:1.3px}.guide-copy p{margin:4px 0 0;color:#526a73;font-size:11px;line-height:1.35}
.guide-meter{height:3px;margin-top:9px;border-radius:999px;background:#cddfe1;overflow:hidden}.guide-meter span{display:block;width:0;height:100%;border-radius:inherit;background:linear-gradient(90deg,#35b7c5,#ff882c);transition:width .25s ease}
.guide-step{flex:none;color:#a25829;font-size:10px;font-weight:700;white-space:nowrap}
.signup-panel .access-hint{align-items:center;margin:0;padding:10px 12px;font-size:11px;background:linear-gradient(115deg,#f3f9f8,#f9fbfd);border-color:#d9e9e7;color:#536474}
.signup-panel .access-hint-icon{flex:0 0 28px;width:28px;height:28px;display:grid;place-items:center;border:1px solid #cee4df;border-radius:9px;background:linear-gradient(145deg,#fff,#e3f2ee);box-shadow:inset 0 1px #fff,0 3px 8px #2d6e5c18;color:#357a70}
.signup-panel .access-hint-icon svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.signup-panel .auth-form label{gap:7px}
.signup-panel .auth-form input:not([type=checkbox]){font-family:'DM Sans',Arial,sans-serif}
.signup-panel .auth-form .field-wrap>i{left:10px;top:12px;display:grid;place-items:center;width:28px;height:28px;border:1px solid #dce6e4;border-radius:8px;background:linear-gradient(145deg,#fff,#edf5f2);box-shadow:inset 0 1px 1px #fff,0 2px 5px #4f777021;color:#607c80;transition:color .2s,border-color .2s,background .2s,box-shadow .2s}
.signup-panel .auth-form .field-wrap>i svg{width:18px;height:18px;stroke:currentColor;stroke-width:1.8;fill:none;stroke-linecap:round;stroke-linejoin:round}
.signup-panel .auth-form .field-wrap input{padding-left:49px}
.signup-panel .auth-form .signup-phone-field{background:#fff}
.signup-panel .auth-form .signup-phone-field .signup-phone-prefix{display:flex;align-items:center;gap:7px;height:30px;padding:0 13px;border-right:1px solid #eee2d7;color:#a94714;font-size:12px;white-space:nowrap}
.signup-phone-prefix img{display:block;width:19px;height:14px;object-fit:cover;border-radius:2px;box-shadow:0 1px 3px #0002}
.signup-panel .auth-form .signup-phone-field input{padding-left:14px}
.signup-panel .signup-phone-prefix select{border:0;background:transparent;color:#a94714;font:700 12px 'DM Sans',Arial,sans-serif;max-width:112px;cursor:pointer;outline-offset:3px}
.signup-panel .auth-form .password-input>i{top:12px}
.signup-panel .auth-form .field-wrap:focus-within>i{color:#287d89;border-color:#acd9d5}
.signup-panel .auth-form .access-code-field>i{color:#357a70}
.signup-panel .auth-form :is(.password-input,.confirm-password-field).is-valid>i,.signup-panel .auth-form :is(.password-input,.confirm-password-field).is-valid:focus-within>i{color:#168456;border-color:#9fdab8;background:linear-gradient(145deg,#f9fffb,#dff5e7);box-shadow:inset 0 1px #fff,0 0 0 3px #5abd8430,0 3px 8px #30875d20}
.signup-panel .auth-form :is(.password-input,.confirm-password-field).is-valid input{border-color:#84cfa3;background:#fcfffd}
.signup-panel .auth-form :is(.password-input,.confirm-password-field).is-valid input:focus{box-shadow:0 0 0 4px #58b97d24}
@keyframes earth-hover{0%,100%{transform:translateY(0) rotate(-2deg)}50%{transform:translateY(-9px) rotate(1.5deg)}}
@keyframes halo-pulse{0%,100%{opacity:.65;transform:scale(.97)}50%{opacity:1;transform:scale(1.06)}}
@keyframes stars-breathe{from{opacity:.65}to{opacity:1}}
@keyframes star-twinkle{0%,100%{opacity:.45;transform:scale(.65)}50%{opacity:1;transform:scale(1.15)}}
@keyframes meteor-cross{0%,6%{opacity:0;translate:-130px 90px}9%{opacity:1}25%{opacity:1}37%,100%{opacity:0;translate:390px -210px}}
@keyframes exchange-flow{to{stroke-dashoffset:-80}}
@keyframes exchange-node-glow{0%,100%{box-shadow:inset 0 1px 1px #ffffff38,0 6px 16px #00101e8c,0 0 13px #51dfff45}50%{box-shadow:inset 0 1px 1px #ffffff38,0 6px 16px #00101e8c,0 0 22px #51dfff80}}
@keyframes signup-light{to{transform:translate(-55px,75px) scale(1.15)}}
@media(max-width:900px){.sky{inset:10px -60px auto auto;transform:scale(.58);transform-origin:top right}.auth-shell:has(.signup-panel) .visual-copy{margin:auto 0 0}.auth-shell:has(.signup-panel) .visual-stats{margin-top:0}}
@media(max-width:480px){.sky{inset:10px 0 auto auto;transform:scale(.44)}.auth-visual:after{opacity:.5}}
@media(prefers-reduced-motion:reduce){.starfield,.starfield:before,.starfield:after,.planet-halo,.earth-render,.meteor,.exchange-links path,.exchange-node,.signup-panel:before{animation:none!important}.guide-meter span{transition:none}.meteor{opacity:0!important}}
.signup-panel .terms{display:flex;align-items:flex-start;gap:9px;font-size:11px;line-height:1.5;color:#645a52}.signup-panel .terms input{flex:0 0 16px;margin-top:1px}.signup-panel .terms label{display:inline;font-size:inherit;font-weight:400;cursor:pointer}.signup-panel .terms button{border:0;background:none;padding:0;color:#b64b10;text-decoration:underline;cursor:pointer;font:600 11px 'DM Sans',Arial,sans-serif}.terms-dialog{width:min(720px,calc(100vw - 30px));max-height:min(85dvh,850px);padding:0;border:1px solid #d7e1e5;border-radius:20px;box-shadow:0 28px 90px #10283c66;color:#20313c}.terms-dialog::backdrop{background:#071828aa;backdrop-filter:blur(5px)}.terms-dialog header{position:sticky;top:0;background:#fff;display:flex;justify-content:space-between;align-items:center;padding:20px 26px;border-bottom:1px solid #e7edf0}.terms-dialog header span{font-size:10px;letter-spacing:2px;color:#298b8d}.terms-dialog header h2{font-size:21px;margin:5px 0 0}.terms-dialog header button{font-size:28px;border:0;background:none;cursor:pointer;color:#52616a}.terms-dialog-body{padding:22px 30px;font-size:13px;line-height:1.7}.terms-dialog-body h2{font-size:22px;margin:18px 0 12px}.terms-dialog-body h3,.terms-dialog-body h4{font-size:17px;margin:20px 0 10px}.terms-dialog-body p{margin:0 0 13px}.terms-dialog-body li{margin-bottom:7px}.terms-dialog footer{position:sticky;bottom:0;background:#fff;border-top:1px solid #e7edf0;padding:14px 26px;text-align:right}.terms-dialog footer button{border:0;background:#173e57;color:#fff;padding:11px 18px;border-radius:9px;cursor:pointer;font-weight:600}
