/* KORVIA V3 Login only: scoped styles avoid modifying application pages. */
#loginView.login-shell{--kv-bg:#08111f;--kv-side:#0e1c30;--kv-card:#152841;--kv-light:#f0f5fd;--kv-muted:#9cafc8;--kv-stroke:#29435f;--kv-accent:#5695ed;color:var(--kv-light);background:var(--kv-bg);grid-template-columns:minmax(390px,39%) minmax(0,61%);min-height:100vh}
#loginView .login-card{box-sizing:border-box;align-self:stretch;max-width:none;width:100%;margin:0;min-height:100vh;padding:clamp(28px,5vw,92px);display:flex;flex-direction:column;justify-content:center;background:linear-gradient(165deg,#101f35 0%,#0b1728 100%);border-right:1px solid rgba(131,167,212,.10);position:relative;z-index:2}
#loginView .login-card:before{content:"";position:absolute;left:0;top:0;right:0;height:2px;background:linear-gradient(90deg,#3975cb,transparent)}
#loginView .login-brand{display:flex;align-items:center;justify-content:flex-start;gap:13px}
#loginView .login-brand .brand-mark{display:block;width:178px!important;max-width:100%;height:auto!important;max-height:none!important;object-fit:contain;object-position:left center;box-shadow:none;background:none}
#loginView .login-brand strong{color:#f0f5fd;font-size:15px;letter-spacing:.14em}
#loginView .login-brand small{color:#9cafc8;font-size:10px;letter-spacing:.05em}
#loginView .login-copy{margin-top:46px}
#loginView .login-copy .eyebrow{font-size:10px;letter-spacing:.21em;color:#7fb1f5;font-weight:750;text-transform:uppercase;margin:0 0 12px}
#loginView .login-copy h1{color:#f0f5fd;font-size:clamp(34px,3.4vw,50px);line-height:1.09;letter-spacing:-.042em;font-weight:730;margin:0 0 16px}
#loginView .login-copy>p:not(.eyebrow){font-size:14px;line-height:1.78;color:#98adc8;max-width:365px;margin:0 0 24px}
#loginView .login-form{display:grid;gap:17px;max-width:410px}
#loginView .login-form label{display:grid;gap:8px;font-size:12px;font-weight:640;color:#c4d2e5}
#loginView .login-form input{box-sizing:border-box;min-height:49px;width:100%;padding:15px 16px;background:#16283f;color:#f0f5fd;border:1px solid #2b435f;border-radius:10px;box-shadow:none;font:14px inherit}
#loginView .login-form input:focus{outline:none;border-color:#6096e5;box-shadow:0 0 0 3px rgba(86,149,237,.14)}
#loginView .login-form .primary-button{min-height:49px;padding:15px;background:#3477df!important;border:1px solid #4b88ef!important;border-radius:10px;color:#fff!important;font-weight:760;font-size:14px;box-shadow:none;transition:background .18s,transform .18s}
#loginView .login-form .primary-button:hover{background:#2869ca!important;transform:translateY(-1px)}
#loginView .login-foot{color:#7790ad;margin-top:25px;font-size:11px}
#loginView .login-side{box-sizing:border-box;display:flex;align-self:stretch;min-height:100vh;padding:0!important;background:#08111f!important;position:relative;overflow:hidden;color:#f0f5fd}
#loginView .login-side:before,#loginView .login-side:after{content:none!important;display:none!important}
#loginView .visual{flex:1;min-width:0;position:relative;display:flex;flex-direction:column;overflow:hidden;background:radial-gradient(ellipse at 57% 50%,rgba(30,69,116,.20),transparent 63%),#08111f}
#loginView .visual:before{content:"";position:absolute;inset:0;opacity:.24;pointer-events:none;background-image:linear-gradient(rgba(111,146,190,.12) 1px,transparent 1px),linear-gradient(90deg,rgba(111,146,190,.12) 1px,transparent 1px);background-size:52px 52px;mask-image:radial-gradient(ellipse at 50% 45%,black,transparent 75%)}
#loginView .topline{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:31px 42px 16px;position:relative;z-index:1}
#loginView .topline .micro{display:flex;align-items:center;gap:9px;font-size:10px;letter-spacing:.19em;color:#91adcf;font-weight:740}
#loginView .topline .micro i{display:inline-block;width:7px;height:7px;background:#62b5ab;border-radius:100%;box-shadow:0 0 0 4px rgba(98,181,171,.10)}
#loginView .version{font-size:10px;letter-spacing:.1em;color:#859cba;border:1px solid #243c59;border-radius:999px;padding:9px 13px}
#loginView .mapContainer{position:relative;flex:1;display:flex;align-items:center;justify-content:center;min-height:350px;margin:0 22px;z-index:1}
#loginView #mapSvg{width:100%;height:auto;max-height:66vh;display:block;overflow:visible;filter:drop-shadow(0 12px 24px rgba(0,0,0,.1))}
#loginView .mapShadow{fill:none;stroke:rgba(48,94,149,.14);stroke-width:11;stroke-linejoin:round;stroke-linecap:round}
#loginView .mapState{fill:#19314e;stroke:#496886;stroke-width:1.45;stroke-linejoin:round;stroke-linecap:round;vector-effect:non-scaling-stroke;transition:fill .2s,stroke .2s}
#loginView .mapState:hover{fill:#284b73;stroke:#8aadd3;stroke-width:1.8}
#loginView .fallbackCountry{fill:#19314e;stroke:#496886;stroke-width:1.5;vector-effect:non-scaling-stroke}
#loginView .routeBase{fill:none;stroke:#4776a5;stroke-width:1.4;opacity:.25;stroke-linecap:round;vector-effect:non-scaling-stroke}
#loginView .routeMotion{fill:none;stroke:#85b9ff;stroke-width:1.75;opacity:.68;stroke-linecap:round;stroke-dasharray:2 24;vector-effect:non-scaling-stroke;animation:korviaMapFlow 10s linear infinite}
#loginView .routeMotion:nth-child(3n){animation-duration:14s;stroke:#5991df;opacity:.58}
@keyframes korviaMapFlow{to{stroke-dashoffset:-260}}
#loginView .terminal{fill:#96bbef;opacity:.93}
#loginView .terminalHalo{fill:none;stroke:#91b5e9;opacity:.24;stroke-width:1}
#loginView .hubHalo{fill:#193d66;stroke:#74a8ed;stroke-width:1.5;opacity:.95}
#loginView .hubCore{fill:#e6f3ff}
#loginView .hubStem{stroke:#7fa5da;stroke-width:1.4;opacity:.8}
#loginView .hubText{fill:#e3eeff;font-size:14px;font-weight:770;letter-spacing:2px;font-family:Inter,Segoe UI,Arial,sans-serif}
#loginView .hubTag{fill:#0e223b;stroke:#355779;stroke-width:1}
#loginView .mapStatus{position:absolute;bottom:4px;right:27px;color:#6785a9;font-size:10px;letter-spacing:.04em}
#loginView .captionBlock{position:relative;z-index:2;padding:0 54px 46px;display:flex;align-items:end;justify-content:space-between;gap:18px}
#loginView .captionBlock h2{margin:0 0 9px;color:#f0f5fd;font-size:clamp(27px,2.9vw,42px);font-weight:730;line-height:1.08;letter-spacing:-.042em}
#loginView .captionBlock p{margin:0;color:#9db2cf;font-size:13px;line-height:1.7;max-width:370px}
#loginView .captionTags{display:flex;gap:8px;flex-wrap:wrap;justify-content:end}
#loginView .captionTags span{white-space:nowrap;font-size:10px;color:#a9bdd6;border:1px solid #304965;background:rgba(20,37,62,.66);padding:10px 12px;border-radius:7px}
#loginView .tooltip{position:absolute;background:#10223b;color:#eaf4ff;border:1px solid #436388;box-shadow:0 10px 35px rgba(0,0,0,.35);padding:7px 11px;font-size:11px;border-radius:7px;pointer-events:none;display:none;z-index:9}
#loginView .korvia-map-credit{position:absolute;right:20px;bottom:9px;color:#7186a3;font-size:9px;z-index:3}
#loginView .korvia-map-credit a{color:#8ca5c6;text-decoration:none}
@media(max-width:1000px){#loginView.login-shell{grid-template-columns:1fr}#loginView .login-card{min-height:100vh}#loginView .login-side{display:none!important}}
@media(prefers-reduced-motion:reduce){#loginView .routeMotion{animation:none}}
