.login-page{--login-bg:#070b14;--login-panel:#0b1220;--login-elevated:#111827;--login-line:#94a3b829;--login-text:#e8edf7;--login-muted:#94a3b8;--login-accent:#3b82f6;--login-accent-strong:#2563eb;background:var(--login-bg);min-height:100dvh;font-family:var(--ws-font,"IBM Plex Sans", system-ui, sans-serif);color:var(--login-text);grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);display:grid}.login-page--loading{background:var(--login-bg)}.login-brand{border-right:1px solid var(--login-line);background:radial-gradient(80% 60% at 10% 0,#2563eb47,#0000 55%),radial-gradient(50% 40% at 90% 90%,#0ea5e91f,#0000 50%),linear-gradient(165deg,#0c1929 0%,#0a1220 48%,#070b14 100%);flex-direction:column;justify-content:space-between;padding:clamp(2rem,5vw,3.75rem);animation:.7s ease-out both login-brand-in;display:flex;position:relative;overflow:hidden}.login-brand:before{content:"";pointer-events:none;background-image:linear-gradient(#94a3b80d 1px,#0000 1px),linear-gradient(90deg,#94a3b80d 1px,#0000 1px);background-size:48px 48px;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#0000008c,#0000 85%);mask-image:linear-gradient(#0000008c,#0000 85%)}.login-brand-inner{z-index:1;max-width:28rem;animation:.75s ease-out 80ms both login-rise;position:relative}.login-mark{color:#fff;letter-spacing:.04em;background:linear-gradient(145deg,#3b82f6,#1d4ed8);border-radius:12px;justify-content:center;align-items:center;width:2.75rem;height:2.75rem;margin:0 0 1.25rem;font-size:.95rem;font-weight:800;display:inline-flex;box-shadow:0 10px 28px #2563eb59}.login-brand-name{letter-spacing:-.04em;color:#f8fafc;margin:0 0 .85rem;font-size:clamp(2.4rem,5vw,3.35rem);font-weight:700;line-height:1.05}.login-brand-lead{color:#cbd5e1;max-width:26rem;margin:0;font-size:1.05rem;font-weight:500;line-height:1.55}.login-trust{gap:.65rem;margin:2.25rem 0 0;padding:0;list-style:none;display:grid}.login-trust li{color:#e2e8f0;align-items:flex-start;gap:.7rem;font-size:.9375rem;font-weight:500;line-height:1.4;display:flex}.login-trust li:before{content:"";background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none'%3E%3Cpath d='M3.5 8.2 6.4 11l6-6.5' stroke='%2393c5fd' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") 50%/.7rem no-repeat,#3b82f62e;border:1px solid #93c5fd59;border-radius:999px;flex-shrink:0;width:1.15rem;height:1.15rem;margin-top:.12rem}.login-brand-foot{z-index:1;color:var(--login-muted);letter-spacing:.12em;text-transform:uppercase;margin:2rem 0 0;font-size:.8rem;font-weight:600;position:relative}.login-panel{background:radial-gradient(ellipse 70% 50% at 70% 20%, #2563eb14, transparent 55%), var(--login-panel);justify-content:center;align-items:center;padding:clamp(1.5rem,4vw,2.5rem);animation:.65s ease-out .12s both login-panel-in;display:flex}.login-card{border:1px solid var(--login-line);background:linear-gradient(#111827eb,#0b1220f5);border-radius:18px;width:100%;max-width:420px;padding:clamp(1.5rem,3vw,2rem);box-shadow:inset 0 1px #ffffff0a,0 24px 48px #00000059}.login-card-head{margin-bottom:1.35rem}.login-card h2{letter-spacing:-.02em;margin:0 0 .35rem;font-size:1.45rem;font-weight:700}.login-card .sub{color:var(--login-muted);margin:0;font-size:.9rem;font-weight:500;line-height:1.4}.login-form{gap:.15rem;display:grid}.login-field{margin-bottom:.85rem}.login-label{color:#a8b4c7;letter-spacing:.1em;text-transform:uppercase;margin-bottom:.4rem;font-size:.68rem;font-weight:700;display:block}.login-input{box-sizing:border-box;width:100%;color:var(--login-text);background:#0a101b;border:1px solid #2a364a;border-radius:12px;outline:none;padding:.8rem .95rem;font-family:inherit;font-size:.95rem;transition:border-color .15s,box-shadow .15s}.login-input:hover{border-color:#3b4b63}.login-input:focus{border-color:var(--login-accent);box-shadow:0 0 0 3px #3b82f638}.login-btn{background:linear-gradient(180deg, #3b82f6, var(--login-accent-strong));color:#fff;cursor:pointer;border:none;border-radius:12px;width:100%;margin-top:.35rem;padding:.9rem 1rem;font-family:inherit;font-size:.95rem;font-weight:650;transition:transform .12s,filter .12s,opacity .12s;box-shadow:0 10px 24px #2563eb47}.login-btn:hover:not(:disabled){filter:brightness(1.06)}.login-btn:active:not(:disabled){transform:translateY(1px)}.login-btn:disabled{opacity:.6;cursor:not-allowed;box-shadow:none}.login-error{color:#fecaca;background:#450a0a8c;border:1px solid #f8717159;border-radius:12px;margin-bottom:1rem;padding:.75rem .9rem;font-size:.875rem;line-height:1.4}.login-install{margin-top:1rem}.login-install-btn{color:#93c5fd;cursor:pointer;background:#3b82f61a;border:1px solid #3b82f673;border-radius:12px;width:100%;padding:.75rem 1rem;font-family:inherit;font-size:.9rem;font-weight:650;transition:background .12s,border-color .12s}.login-install-btn:hover{background:#3b82f62e;border-color:#3b82f6b3}.login-install-help{color:var(--login-muted);margin:.65rem 0 0;font-size:.8rem;line-height:1.45}.login-install-help strong{color:#cbd5e1;font-weight:650}.login-install--done{text-align:center;color:#34d399;margin:1rem 0 0;font-size:.82rem;font-weight:600}.login-demo{border-top:1px solid var(--login-line);margin-top:1.35rem;padding-top:1.15rem}.login-demo-head{color:var(--login-muted);justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:.75rem;font-size:.78rem;font-weight:600;display:flex}.login-demo-head code{color:#93c5fd;background:#3b82f61f;border-radius:6px;padding:.15rem .45rem;font-size:.75rem}.login-demo-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:.45rem;display:grid}.login-demo-chip{min-height:2.85rem;color:inherit;font:inherit;text-align:left;cursor:pointer;background:#0a101b;border:1px solid #2a364a;border-radius:10px;flex-direction:column;align-items:flex-start;gap:.1rem;padding:.45rem .55rem;transition:border-color .12s,background .12s,transform .12s;display:flex}.login-demo-chip:hover{background:#3b82f614;border-color:#3b82f6}.login-demo-chip.is-active{background:#3b82f629;border-color:#3b82f6a6;box-shadow:0 0 0 1px #3b82f633}.login-demo-chip-label{color:#e2e8f0;font-size:.72rem;font-weight:650;line-height:1.2}.login-demo-chip-role{color:#64748b;letter-spacing:.04em;text-transform:uppercase;font-size:.58rem;font-weight:600;line-height:1.2}.login-demo-chip.is-active .login-demo-chip-role{color:#93c5fd}@keyframes login-brand-in{0%{opacity:0}to{opacity:1}}@keyframes login-rise{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes login-panel-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@media (max-width:1024px){.login-page{grid-template-columns:1fr}.login-brand{border-right:none;border-bottom:1px solid var(--login-line);min-height:auto;padding:1.75rem 1.35rem 1.5rem}.login-brand-name{font-size:clamp(2rem,8vw,2.5rem)}.login-brand-lead{font-size:.95rem}.login-trust{display:none}.login-brand-foot{margin-top:1.25rem}.login-panel{align-items:flex-start;padding:1.25rem}.login-card{max-width:none}.login-demo-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:420px){.login-demo-grid{grid-template-columns:1fr 1fr}}@media (prefers-reduced-motion:reduce){.login-brand,.login-brand-inner,.login-panel{animation:none}}
