.login-view{display:none;min-height:100vh;background:#f3f7f7;grid-template-columns:minmax(420px,1.12fr) minmax(390px,.88fr)}
.auth-pending .login-view,.login-required .login-view{display:grid}.auth-pending .topbar,.auth-pending main,.login-required .topbar,.login-required main{display:none}.authenticated .login-view{display:none}
.login-visual{position:relative;overflow:hidden;min-height:100vh;background:#081b28 url('/login-station-bg.webp') center/cover no-repeat;color:#fff;padding:52px clamp(34px,5vw,78px);display:flex;flex-direction:column;justify-content:space-between;isolation:isolate}.login-visual:before{content:"";position:absolute;inset:0;background:linear-gradient(115deg,rgba(4,18,28,.96),rgba(5,25,35,.72) 52%,rgba(5,24,33,.24));z-index:-1}.login-visual:after{content:"";position:absolute;width:520px;height:520px;border:1px solid rgba(84,223,192,.19);border-radius:50%;right:-210px;top:-200px;box-shadow:0 0 0 70px rgba(84,223,192,.025),0 0 0 140px rgba(84,223,192,.018);z-index:-1}
.login-brand{display:flex;align-items:center;gap:13px;position:relative;z-index:2}.login-brand .brand-mark{width:44px;height:44px}.login-brand b{display:block;font-size:21px}.login-brand small{display:block;color:#b5c3ca;font-size:10px;letter-spacing:.18em;text-transform:uppercase}.login-message{position:relative;z-index:2;max-width:680px;padding-bottom:4vh}.login-message p{color:#54dfc0;font-size:11px;font-weight:850;letter-spacing:.18em;margin:0 0 17px}.login-message h1{font-size:clamp(42px,5vw,73px);line-height:.98;letter-spacing:-.055em;margin:0 0 25px}.login-message span{display:block;max-width:520px;color:#c0cdd3;font-size:16px;line-height:1.6}.login-shade{position:absolute;left:0;right:0;bottom:0;height:5px;background:linear-gradient(90deg,#54dfc0,#45b7d8,#ffad52)}
.login-access{display:grid;place-items:center;padding:50px clamp(30px,5vw,86px);position:relative;background:radial-gradient(circle at 100% 0,rgba(84,223,192,.13),transparent 26rem),#f4f8f8}.login-access:after{content:"";position:absolute;inset:28px;border:1px solid rgba(7,21,34,.055);pointer-events:none}.login-card{width:min(100%,460px);position:relative;z-index:1}.login-pulse{display:flex;align-items:center;justify-content:center;gap:4px;width:52px;height:52px;border-radius:15px;background:#071522;box-shadow:0 13px 32px rgba(7,21,34,.2);margin-bottom:31px}.login-pulse i{width:4px;background:#54dfc0;border-radius:5px}.login-pulse i:nth-child(1){height:13px}.login-pulse i:nth-child(2){height:27px}.login-pulse i:nth-child(3){height:18px}
.login-card h2{font-size:clamp(31px,3vw,43px);letter-spacing:-.045em;margin:0 0 12px}.login-card>p:not(.eyebrow){color:#61737d;line-height:1.6;font-size:14px;margin:0 0 30px}.login-card label{display:block;color:#304550;font-size:12px;font-weight:800;margin:0 0 17px}.login-card input{display:block;width:100%;margin-top:8px;border:1px solid #cbd9dd;background:#fff;border-radius:11px;padding:15px 16px;outline:0;color:#071522;font-size:15px;box-shadow:0 5px 18px rgba(7,21,34,.035);transition:.2s}.login-card input:focus{border-color:#28b99f;box-shadow:0 0 0 4px rgba(84,223,192,.16)}.login-card>button{width:100%;border:0;border-radius:11px;background:#071522;color:#fff;padding:16px 18px;margin-top:7px;display:flex;justify-content:space-between;align-items:center;cursor:pointer;box-shadow:0 12px 26px rgba(7,21,34,.18);transition:.2s}.login-card>button b{font-size:14px}.login-card>button span{color:#54dfc0;font-size:21px}.login-card>button:hover{background:#102c3d;transform:translateY(-1px)}.login-card>button:disabled{cursor:wait;opacity:.75;transform:none}.login-card>button.loading span{animation:login-arrow 1s infinite}.login-card>small{display:block;text-align:center;color:#8a9aa3;font-size:10px;margin-top:19px}.login-error{min-height:20px;color:#b7433d;font-size:12px;font-weight:700;margin-top:13px;text-align:center}
.user-name{font-size:12px;font-weight:750;color:#d7e1e5;padding-left:17px;border-left:1px solid #314653}.logout-button{border:0;background:transparent;color:#93a8b3;font-size:12px;font-weight:700;cursor:pointer;padding:8px}.logout-button:hover{color:#fff}.query-loading{min-height:210px;width:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:#6a7c86}.query-loading>span{display:flex;gap:6px;margin-bottom:16px}.query-loading>span i{width:8px;height:8px;border-radius:50%;background:#087b69;animation:query-dot 1.1s infinite ease-in-out}.query-loading>span i:nth-child(2){animation-delay:.14s}.query-loading>span i:nth-child(3){animation-delay:.28s}.query-loading strong{color:#071522;font-size:15px}.query-loading p{max-width:440px;margin:7px 0 0;font-size:11px;line-height:1.5}.error-state button{border:0;background:#071522;color:#fff;border-radius:8px;padding:9px 14px;font-weight:750;cursor:pointer;margin-top:8px}
@keyframes query-dot{0%,70%,100%{transform:translateY(0);opacity:.35}35%{transform:translateY(-7px);opacity:1}}@keyframes login-arrow{50%{transform:translateX(5px)}}
@media(max-width:900px){.login-view{grid-template-columns:1fr}.login-visual{min-height:38vh;padding:30px}.login-message{padding-top:70px}.login-message h1{font-size:42px}.login-access{min-height:62vh;padding:45px 28px}.login-access:after{inset:14px}.header-actions{gap:8px}.user-name{display:none}}
@media(max-width:620px){.login-message h1{font-size:34px}.login-message span{font-size:14px}.login-visual{min-height:42vh}.login-access{min-height:58vh}.freshness{display:none}.logout-button{padding:5px}}
