.vl-login{min-height:100vh;min-height:100dvh;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);background:var(--bg-primary);color:var(--text-primary)}.vl-login-brand{position:relative;overflow:hidden;color:#e2e8f0;background:radial-gradient(ellipse 70% 50% at 15% 10%,rgba(96,165,250,.35),transparent 60%),radial-gradient(ellipse 60% 55% at 95% 95%,rgba(129,140,248,.32),transparent 60%),linear-gradient(160deg,#0b1530 0%,#0f1d45 45%,#172264 100%)}.vl-login-brand::before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(148,163,184,.07) 1px,transparent 1px),linear-gradient(90deg,rgba(148,163,184,.07) 1px,transparent 1px);background-size:44px 44px;-webkit-mask-image:radial-gradient(ellipse 80% 70% at 40% 40%,#000 30%,transparent 80%);mask-image:radial-gradient(ellipse 80% 70% at 40% 40%,#000 30%,transparent 80%);pointer-events:none}.vl-login-brand-inner{position:relative;height:100%;box-sizing:border-box;max-width:560px;margin-left:auto;padding:48px 56px;display:flex;flex-direction:column;gap:40px}.vl-login-logo{display:inline-flex;align-items:center;gap:12px;color:#fff;text-decoration:none;font-weight:700;font-size:1.1rem}.vl-login-logo img{width:44px;height:44px;display:block}.vl-login-pitch{margin-top:auto;display:flex;flex-direction:column;gap:16px}.vl-login-kicker{align-self:flex-start;display:inline-flex;align-items:center;gap:8px;padding:6px 12px;border-radius:var(--radius-pill,999px);background:rgba(96,165,250,.14);border:1px solid rgba(147,197,253,.28);color:#bfdbfe;font-size:.8rem;font-weight:600}.vl-login-kicker svg{width:15px;height:15px}.vl-login-pitch h2{margin:0;color:#fff;font-size:clamp(1.9rem,2.6vw,2.6rem);line-height:1.15;font-weight:700}.vl-login-pitch h2 span{background:linear-gradient(135deg,#93c5fd,#a5b4fc);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.vl-login-pitch p{margin:0;color:#a6b3cf;font-size:1.02rem;line-height:1.65;max-width:420px}.vl-login-points{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:18px}.vl-login-points li{display:flex;gap:14px;align-items:flex-start}.vl-login-points b{display:block;color:#fff;font-weight:600;font-size:.95rem;margin-bottom:2px}.vl-login-points li>span:last-child{color:#a6b3cf;font-size:.88rem;line-height:1.5}.vl-login-point-icon{flex-shrink:0;width:40px;height:40px;border-radius:var(--radius-md,10px);display:inline-flex;align-items:center;justify-content:center;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);color:#93c5fd}.vl-login-point-icon svg{width:20px;height:20px}.vl-login-secure{margin-top:auto;display:flex;align-items:center;gap:8px;color:#7c8aa8;font-size:.8rem}.vl-login-secure svg{width:14px;height:14px}.vl-login-main{display:flex;flex-direction:column;align-items:center;padding:24px 32px;box-sizing:border-box;background:radial-gradient(ellipse 80% 45% at 50% -10%,rgba(var(--accent-rgb),.1),transparent 62%),var(--bg-primary)}.vl-login-top{width:100%;max-width:440px;display:flex;justify-content:space-between;align-items:center}.vl-login-back{display:inline-flex;align-items:center;gap:6px;color:var(--text-secondary);text-decoration:none;font-size:.88rem;font-weight:500;padding:8px 4px}.vl-login-back:hover{color:var(--accent-primary)}.vl-login-back svg{width:16px;height:16px}.vl-login-theme{margin:0}.vl-login-card{width:100%;max-width:440px;margin:auto 0;padding:40px 0 24px;display:flex;flex-direction:column;gap:24px}.vl-login-head{display:flex;flex-direction:column;gap:8px}.vl-login-head h1{margin:0;font-size:2rem;line-height:1.2;font-weight:700;color:var(--text-primary)}.vl-login-head p{margin:0;color:var(--text-secondary);font-size:1rem}.vl-login-mobile-mark{display:none;width:48px;height:48px;margin-bottom:8px}.vl-login-alert{display:flex;align-items:flex-start;gap:10px;padding:12px 14px;border-radius:var(--radius-md,10px);font-size:.9rem;line-height:1.45;border:1px solid transparent}.vl-login-alert svg{width:18px;height:18px;flex-shrink:0;margin-top:1px}.vl-login-alert-error{background:var(--error-soft);border-color:rgba(239,68,68,.28);color:var(--error)}.vl-login-alert-success{background:rgba(22,163,74,.1);border-color:rgba(22,163,74,.28);color:#15803d}[data-theme="dark"] .vl-login-alert-success{color:#4ade80}.vl-login-alert-info{background:var(--info-soft);border-color:rgba(59,130,246,.25);color:var(--accent-primary)}.vl-login-errors ul{margin:0;padding:0;list-style:none}.vl-login-errors li+li{margin-top:4px}.vl-login-form{display:flex;flex-direction:column;gap:18px;margin:0}.vl-field{display:flex;flex-direction:column;gap:8px}.vl-label-row{display:flex;justify-content:space-between;align-items:baseline;gap:12px}.vl-label{font-size:.88rem;font-weight:600;color:var(--text-primary);margin:0}.vl-link-sm{font-size:.85rem;font-weight:500;color:var(--accent-primary);text-decoration:none}.vl-link-sm:hover{text-decoration:underline}.vl-input-wrap{position:relative;display:flex;align-items:center}.vl-input-icon{position:absolute;left:14px;width:18px;height:18px;color:var(--text-muted);pointer-events:none;z-index:2}.vl-login .vl-input{width:100%;height:48px;box-sizing:border-box;padding:0 14px 0 44px;border:1px solid var(--border-strong,var(--border-color));border-radius:var(--radius-md,10px);background:var(--bg-card);color:var(--text-primary);font:inherit;font-size:.98rem;outline:0;box-shadow:var(--shadow-xs,none);transition:border-color 150ms ease,box-shadow 150ms ease}.vl-login .vl-input::placeholder{color:var(--text-muted);opacity:1}.vl-login .vl-input:hover{border-color:var(--text-muted)}.vl-login .vl-input:focus{border-color:var(--accent-primary);box-shadow:0 0 0 4px rgba(var(--accent-rgb),.16)}.vl-input-wrap:focus-within .vl-input-icon{color:var(--accent-primary)}.vl-login .vl-input.input-validation-error{border-color:var(--error)}.vl-login .vl-input-pw{padding-right:48px}.vl-pw-toggle{position:absolute;z-index:2;right:4px;width:40px;height:40px;border:0;border-radius:var(--radius-sm,8px);background:transparent;color:var(--text-muted);display:inline-flex;align-items:center;justify-content:center;cursor:pointer}.vl-pw-toggle:hover{color:var(--text-primary);background:var(--bg-hover)}.vl-pw-toggle svg{width:18px;height:18px}.vl-pw-toggle .vl-eye-hide,.vl-pw-toggle[aria-pressed="true"] .vl-eye-show{display:none}.vl-pw-toggle[aria-pressed="true"] .vl-eye-hide{display:inline-block}.vl-field-error{color:var(--error);font-size:.83rem}.vl-field-error:empty{display:none}.vl-caps{display:inline-flex;align-items:center;gap:6px;color:#b45309;font-size:.82rem;font-weight:500}[data-theme="dark"] .vl-caps{color:var(--warning)}.vl-caps[hidden]{display:none}.vl-caps svg{width:14px;height:14px}.vl-check{display:inline-flex;align-items:center;gap:10px;cursor:pointer;font-size:.9rem;color:var(--text-secondary);user-select:none;margin:0}.vl-check input{position:absolute;opacity:0;width:1px;height:1px}.vl-check-box{width:20px;height:20px;border-radius:6px;border:1.5px solid var(--border-strong,var(--border-color));background:var(--bg-card);display:inline-flex;align-items:center;justify-content:center;color:#fff;transition:background 150ms ease,border-color 150ms ease}.vl-check-box svg{width:14px;height:14px;opacity:0;stroke-width:3}.vl-check input:checked+.vl-check-box{background:var(--accent-primary);border-color:var(--accent-primary)}.vl-check input:checked+.vl-check-box svg{opacity:1}.vl-check input:focus-visible+.vl-check-box{box-shadow:0 0 0 4px rgba(var(--accent-rgb),.2)}.vl-submit{position:relative;height:50px;margin-top:4px;border:0;border-radius:var(--radius-md,10px);background:var(--accent-gradient);color:#fff;font:inherit;font-size:1rem;font-weight:600;display:inline-flex;align-items:center;justify-content:center;gap:10px;cursor:pointer;box-shadow:0 10px 24px -10px rgba(var(--accent-rgb),.65);transition:transform 150ms ease,box-shadow 150ms ease,filter 150ms ease}.vl-submit:hover{filter:brightness(1.06);box-shadow:0 14px 30px -10px rgba(var(--accent-rgb),.75)}.vl-submit:active{transform:translateY(1px)}.vl-submit:focus-visible{outline:0;box-shadow:0 0 0 4px rgba(var(--accent-rgb),.3)}[data-theme="dark"] .vl-submit{color:#0b1120}.vl-submit-arrow{width:18px;height:18px;transition:transform 150ms ease}.vl-submit:hover .vl-submit-arrow{transform:translateX(3px)}.vl-spinner{display:none;width:18px;height:18px;border-radius:50%;border:2px solid currentColor;border-right-color:transparent;animation:vl-spin 700ms linear infinite}.vl-submit.is-loading{pointer-events:none;opacity:.85}.vl-submit.is-loading .vl-submit-arrow{display:none}.vl-submit.is-loading .vl-spinner{display:inline-block}@keyframes vl-spin{to{transform:rotate(360deg)}}.vl-login-foot{padding-top:20px;border-top:1px solid var(--border-color);display:flex;flex-wrap:wrap;justify-content:space-between;gap:6px 16px;font-size:.88rem;color:var(--text-secondary)}.vl-login-foot a{color:var(--accent-primary);font-weight:600;text-decoration:none}.vl-login-foot a:hover{text-decoration:underline}.vl-login-legal{margin:0;font-size:.8rem;color:var(--text-muted)}.vl-login-legal a{color:inherit}@media(max-width:960px){.vl-login{grid-template-columns:minmax(0,1fr)}.vl-login-brand{display:none}.vl-login-mobile-mark{display:block}.vl-login-main{padding:16px 20px}.vl-login-card{padding-top:24px}.vl-login-head h1{font-size:1.7rem}}@media(prefers-reduced-motion:reduce){.vl-submit,.vl-submit-arrow,.vl-login .vl-input{transition:none}.vl-spinner{animation-duration:1.6s}}