.login-wrap.vl{--bg:#f4f6f9;--surface:#ffffff;--ink:#0f1f33;--ink-2:#44546a;--muted:#5f6f84;--line:#e2e8ef;--line-strong:#cdd6e1;--brand:#1568c4;--grad-brand:#1568c4;--focus:#1568c4;--neg:#c4352b;--on-brand:#ffffff;--shadow-lg:0 2px 6px rgba(15,31,51,0.06),0 16px 40px -12px rgba(15,31,51,0.18);background:var(--bg);color:var(--ink);color-scheme:light;font-family:var(--font-sans,ui-sans-serif),ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;accent-color:var(--brand)}[data-theme=dark] .login-wrap.vl{--bg:#0b1522;--surface:#111d2c;--ink:#eef3f9;--ink-2:#b6c3d3;--muted:#8d9db2;--line:#22344a;--line-strong:#2e4560;--brand:#4a9be8;--grad-brand:#4a9be8;--focus:#4a9be8;--neg:#ff7d71;--on-brand:#04111f;--shadow-lg:0 2px 8px rgba(0,0,0,0.35),0 20px 48px -16px rgba(0,0,0,0.7);color-scheme:dark}.login-wrap.vl .login-card{border-radius:12px;padding:28px;gap:14px}.login-wrap.vl .login-card:before{display:none}.login-wrap.vl .brand-mark{background:#fff;box-shadow:0 0 0 1px var(--line)}.login-wrap.vl .field{font-size:13px;font-weight:500;color:var(--ink-2);gap:6px}.login-wrap.vl .input{height:38px;background:var(--surface);border:1px solid var(--line);border-radius:8px;color:var(--ink);font:inherit;font-size:14px}.login-wrap.vl .input:hover{border-color:var(--line-strong)}.login-wrap.vl .input:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 3px color-mix(in srgb,var(--brand) 18%,transparent)}.login-wrap.vl .btn{border-radius:8px;font-weight:500;box-shadow:none}.login-wrap.vl .btn.primary{min-height:38px;background:var(--brand);border-color:transparent;color:var(--on-brand)}.login-wrap.vl .btn.primary:hover{filter:brightness(.95)}.login-wrap.vl .btn.primary:disabled{opacity:.6;cursor:progress}.login-wrap.vl .btn.ghost{color:var(--ink-2);background:transparent;border-color:transparent}.login-wrap.vl .btn.ghost:hover{background:color-mix(in srgb,var(--brand) 8%,transparent);color:var(--ink)}.login-wrap.vl .muted{color:var(--muted)}.login-wrap.vl :focus-visible{outline:2px solid var(--focus);outline-offset:2px}@media (prefers-reduced-motion:reduce){.login-wrap.vl *{transition:none!important;animation:none!important}}@media (hover:none) and (pointer:coarse),(max-width:640px){.login-wrap.vl.shp-login .input{font-size:16px}}