/* Login-only brand scene; business screens retain their existing theme. */
.login-scene {
 --erp-login-bg: #080e20; --erp-login-panel: #ffffff; --erp-login-ink: #14213d;
 --erp-login-muted: #65718b; --erp-login-cyan: #7de6ed; --erp-login-light: #eff5ff;
 --erp-login-line: rgba(173,204,255,.15); --erp-login-blue: #316dff;
 --erp-login-border: #dce3ed; --erp-login-radius: 24px; --erp-login-gap: 24px;
 position:relative; isolation:isolate; overflow:hidden; min-height:100svh;
 background:radial-gradient(ellipse at 15% 10%,rgba(39,80,163,.27),transparent 55%),var(--erp-login-bg);
 color:var(--erp-login-light); padding:48px 6vw 24px;
 display:flex; flex-direction:column; justify-content:center;
}
body.erp-app:has(.login-scene) {padding-top:0!important;background:var(--erp-page-bg);}
body:has(.login-scene) .erp-topbar, body:has(.login-scene) .app-footer {display:none;}
body:has(.login-scene) .erp-main {margin:0!important;padding:0!important;max-width:none;}
.login-scene::before {content:"";position:absolute;inset:0;z-index:-1;background-image:linear-gradient(var(--erp-login-line) 1px,transparent 1px),linear-gradient(90deg,var(--erp-login-line) 1px,transparent 1px);background-size:64px 64px;opacity:.25;mask-image:linear-gradient(to bottom,black,transparent);}
.login-layout {width:100%;max-width:1120px;margin:auto;display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:80px;align-items:center;}
.login-wordmark {display:flex;align-items:center;gap:16px;font-size:12px;letter-spacing:2px;font-weight:700;}
.login-wordmark img {width:62px;height:48px;object-fit:contain;}
.login-brand-copy {margin-top:52px;}
.login-eyebrow {font-size:11px;letter-spacing:2px;font-weight:700;color:var(--erp-login-cyan);margin:0 0 20px;}
.login-brand h1 {font-size:clamp(32px,3.3vw,48px);line-height:1.35;font-weight:750;letter-spacing:-1px;margin:0 0 24px;}
.login-brand h1 span {background:linear-gradient(100deg,var(--erp-login-cyan),var(--erp-login-light));background-clip:text;-webkit-text-fill-color:transparent;}
.login-description {max-width:410px;font-size:15px;line-height:1.9;color:var(--erp-login-light);opacity:.67;margin:0;}
.login-glow {position:absolute;width:440px;height:440px;border-radius:50%;pointer-events:none;z-index:-1;filter:blur(90px);opacity:.16;animation:login-drift 14s ease-in-out infinite alternate;}
.login-glow-one {background:var(--erp-login-blue);right:-150px;top:0;}
.login-glow-two {background:var(--erp-login-cyan);left:20%;bottom:-350px;animation-delay:-7s;}
.login-network {position:relative;width:360px;height:200px;margin:28px 0 20px;perspective:700px;}
.login-orbit {position:absolute;border:1px solid var(--erp-login-line);border-radius:50%;left:15px;top:0;width:330px;height:175px;transform:rotate(-16deg);}
.login-orbit-two {width:260px;height:130px;left:50px;top:22px;transform:rotate(18deg);border-color:var(--erp-login-cyan);opacity:.3;}
.login-network-core {position:absolute;top:40px;left:126px;width:108px;height:108px;border:1px solid var(--erp-login-line);border-radius:var(--erp-login-radius);background:linear-gradient(140deg,rgba(125,230,237,.12),rgba(49,109,255,.07));box-shadow:0 0 65px rgba(49,109,255,.17);display:flex;flex-direction:column;align-items:center;justify-content:center;transform:rotate(-8deg);}
.login-network-core span {font-size:34px;font-weight:800;letter-spacing:-2px;color:var(--erp-login-cyan);}
.login-network-core small {font-size:8px;letter-spacing:1px;}
.login-node {position:absolute;width:8px;height:8px;background:var(--erp-login-cyan);box-shadow:0 0 20px var(--erp-login-cyan);border-radius:50%;}
.login-node-one {left:30px;top:104px;}.login-node-two {right:28px;top:34px;}.login-node-three {right:70px;bottom:28px;}
.login-network-caption {position:absolute;bottom:-8px;left:24px;letter-spacing:2px;font-size:8px;opacity:.45;}
.login-departments {display:flex;flex-wrap:wrap;gap:18px;font-size:12px;color:var(--erp-login-light);opacity:.7;margin-top:36px;}
.login-departments i {opacity:.35;}
.login-card {background:var(--erp-login-panel);color:var(--erp-login-ink);border:1px solid var(--erp-login-line);border-radius:var(--erp-login-radius);padding:40px;box-shadow:0 24px 80px rgba(0,0,0,.3);min-width:0;}
.login-card-mark {width:44px;height:44px;display:grid;place-items:center;border-radius:12px;background:var(--erp-brand-10);color:var(--erp-brand-60);font-size:20px;margin-bottom:28px;}
.login-card .login-eyebrow {color:var(--erp-login-muted);font-size:10px;margin-bottom:10px;}
.login-card h2 {font-size:30px;font-weight:750;letter-spacing:-.5px;margin:0 0 10px;}
.login-card-subtitle {font-size:14px;color:var(--erp-login-muted);margin-bottom:32px;}
.login-card .form-label {font-size:13px;font-weight:600;color:var(--erp-login-ink);margin-bottom:10px;}
.login-card .input-group {flex-wrap:nowrap;}
.login-card .input-group-text {background:var(--erp-login-panel)!important;color:var(--erp-login-muted);border-radius:10px 0 0 10px;padding:0 14px;border-color:var(--erp-login-border);}
.login-card .form-control {min-width:0;height:50px;background:var(--erp-login-panel);border-color:var(--erp-login-border);border-radius:0 10px 10px 0!important;font-size:14px;padding:12px;color:var(--erp-login-ink);}
.login-card .form-control:focus {border-color:var(--erp-brand-60);box-shadow:0 0 0 3px var(--erp-brand-10);}
.login-card .btn-login {height:50px;border-radius:10px;font-weight:600;font-size:14px;box-shadow:0 6px 18px rgba(13,110,253,.18);transition:transform .2s,box-shadow .2s;}
.login-card .btn-login:hover {transform:translateY(-2px);box-shadow:0 10px 24px rgba(13,110,253,.25);}
.login-card .btn-login:focus-visible {outline:3px solid var(--erp-login-cyan);outline-offset:3px;}
.login-card-footer {margin-top:28px;padding-top:24px;border-top:1px solid var(--erp-login-border);font-size:12px;color:var(--erp-login-muted);text-align:center;}
.login-bottom {width:100%;max-width:1120px;margin:48px auto 0;display:flex;justify-content:space-between;color:var(--erp-login-light);opacity:.4;font-size:10px;letter-spacing:1px;}
@keyframes login-drift {to {transform:translate(30px,40px);}}
.login-orbit {transform:none;animation:login-ring-breathe 6s ease-in-out infinite alternate;}
.login-orbit-two {transform:none;animation-duration:8s;animation-delay:-3s;}
.login-node {left:0;top:0;right:auto;bottom:auto;pointer-events:none;offset-path:ellipse(165px 87.5px at 180px 87.5px);offset-rotate:0deg;animation:login-node-travel 14s linear infinite,login-node-shimmer 3s ease-in-out infinite alternate;}
.login-node-two {animation-duration:20s,4s;animation-delay:-9s,-2s;animation-direction:reverse,alternate;}
.login-node-three {offset-path:ellipse(130px 65px at 180px 87px);animation-duration:11s,3.5s;animation-delay:-4s,-1s;}
.login-card {animation:login-card-enter .55s ease-out both;}
@keyframes login-orbit-turn {to {transform:rotate(8deg);}}
@keyframes login-orbit-turn-two {to {transform:rotate(-6deg);}}
@keyframes login-node-travel {from {offset-distance:0%;} to {offset-distance:100%;}}
@keyframes login-node-shimmer {from {opacity:.65;} to {opacity:1;}}
@keyframes login-ring-breathe {from {filter:brightness(.85);} to {filter:brightness(1.5);}}
@keyframes login-card-enter {from {opacity:0;transform:translateY(12px);} to {opacity:1;transform:none;}}
@media(max-width:900px) {.login-layout{gap:36px;}.login-card{padding:30px;}.login-scene{padding:32px 5vw 20px;}.login-brand h1{font-size:32px;}}
@media(max-width:680px) {.login-layout{grid-template-columns:minmax(0,1fr);max-width:440px;gap:28px;}.login-brand-copy,.login-network,.login-departments{display:none;}.login-wordmark{justify-content:center;}.login-card{padding:28px;}.login-bottom{max-width:440px;margin-top:28px;}.login-scene{padding:28px 20px;}.login-card h2{font-size:26px;}}
@media(prefers-reduced-motion:reduce) {.login-glow,.login-orbit,.login-card,.login-node{animation:none;}.login-node-one{offset-distance:45%;}.login-node-two{offset-distance:90%;}.login-node-three{offset-distance:20%;}.login-card .btn-login{transition:none;}.login-card .btn-login:hover{transform:none;}}
