:root{--bg:var(--color-bg);--panel:var(--color-panel);--field:var(--color-field);--field-2:var(--color-field-2);--ink:var(--color-ink);--ink-2:var(--color-ink-2);--ink-3:var(--color-ink-3);--line:var(--color-line);--line-2:var(--color-line-2);--primary:var(--color-primary);--primary-press:var(--color-primary-press);--primary-soft:var(--color-primary-soft);--secondary:var(--color-secondary);--secondary-press:var(--color-secondary-press);--red:var(--color-red);--r-tile:var(--radius-tile);--r-pill:999px;--font:var(--font-sans,ui-sans-serif, system-ui, sans-serif)}:is(html:has(.login-page),body:has(.login-page)){height:auto;overflow-y:auto}.login-page{background:var(--color-surface);min-height:100dvh;font-family:var(--font);color:var(--ink);-webkit-font-smoothing:antialiased;justify-content:center;align-items:center;display:flex;position:relative}.login-page *{box-sizing:border-box}.lw-box{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius-card);width:100%;max-width:410px;box-shadow:var(--sh-card);padding:36px 34px 32px}.lw-head{text-align:center;margin-bottom:26px}.lw-head h1{letter-spacing:-.6px;font-size:30px;font-weight:800;line-height:1.1}.lw-head .sub{color:var(--ink-3);margin-top:6px;font-size:13.5px;font-weight:600}.lg-foot{text-align:center;color:var(--ink-3);font-size:12.5px;font-weight:500;position:absolute;bottom:22px;left:0;right:0}.lg-foot a{color:var(--ink-2);font-weight:700;text-decoration:none}.login-page.tnf{justify-content:center;align-items:center;padding:24px;display:flex}.login-page.tnf .lw-head h1{font-size:23px}.tnf-msg{color:var(--ink-2);margin-top:14px;font-size:14px;line-height:1.6}.lw-field{margin-bottom:14px}.lw-box .lw-ig{border-radius:var(--r-tile);background:var(--field);width:100%;height:54px;color:var(--ink);border:1.5px solid #0000;gap:11px;padding:0 8px 0 20px;font-size:15px;font-weight:600;transition:background .15s,border-color .15s,box-shadow .15s}.lw-box .lw-ig[data-focus-within],.lw-box .lw-ig:focus-within{background:var(--panel);border-color:var(--primary);box-shadow:0 0 0 4px var(--primary-soft)}.lw-box .lw-ig>svg,.lw-box .lw-ig [data-slot=prefix] svg{color:var(--ink-3);flex:none}.lw-box .lw-ig input{min-width:0;font:inherit;color:var(--ink);background:0 0;border:0;outline:0;flex:auto}.lw-box .lw-ig input::placeholder{color:var(--ink-3);font-weight:500}.lw-box .lw-reveal{border-radius:var(--radius-card);width:40px;min-width:40px;height:40px;box-shadow:none;color:var(--ink-3);background:0 0;border:0}.lw-box .lw-reveal:hover{color:var(--ink);background:var(--field-2)}.lw-link{color:var(--color-primary-ink);cursor:pointer;font-size:13.5px;font-weight:700}.lw-err{color:var(--red);margin-top:6px;font-size:12.5px;font-weight:600}.btn{border-radius:var(--radius-card);height:54px;font-family:var(--font);cursor:pointer;border:1px solid #0000;justify-content:center;align-items:center;gap:9px;padding:0 22px;font-size:15.5px;font-weight:700;display:inline-flex}.btn svg{width:19px;height:19px}.btn.primary{background:var(--primary);color:#fff;box-shadow:0 10px 24px color-mix(in srgb, var(--primary) 32%, transparent);transition:transform .12s,box-shadow .12s,filter .12s,background .12s}.btn.primary:hover:not(:disabled){background:var(--primary-press);box-shadow:0 14px 30px color-mix(in srgb, var(--primary) 38%, transparent);transform:translateY(-1px)}.btn.primary:active:not(:disabled){box-shadow:0 6px 16px color-mix(in srgb, var(--primary) 30%, transparent);transform:translateY(0)}.btn.primary:disabled{opacity:.65;cursor:not-allowed}.btn.block{width:100%}.btn.lg{height:56px;font-size:16px}.lg-illus{display:none}@media (min-width:1280px){.lg-illus{z-index:1;opacity:.95;pointer-events:none;width:260px;height:auto;display:block;position:fixed;bottom:40px;right:40px}}.lg-decor{z-index:1;pointer-events:none;background:linear-gradient(170deg,#e0f2fe 0%,#f8fafc 46%,#f1f5f9 100%);position:fixed;inset:0}@media (max-width:880px){.login-page{grid-template-columns:1fr}.lw-box{max-width:380px;padding:28px 22px 24px}}.auth-flip{perspective:1600px}.auth-flip-panel{transform-style:preserve-3d;animation:.4s cubic-bezier(.22,1,.36,1) auth-flip-in}@keyframes auth-flip-in{0%{opacity:0;transform:rotateY(-90deg)}to{opacity:1;transform:rotateY(0)}}@media (prefers-reduced-motion:reduce){.auth-flip-panel{animation:.2s auth-flip-fade}@keyframes auth-flip-fade{0%{opacity:0}to{opacity:1}}}
