.pp-login{position:relative;min-height:100vh;width:100%;overflow:hidden;background:var(--background);color:var(--foreground);display:flex;flex-direction:column;font-family:inherit}.pp-login__glow{left:50%;top:16%;transform:translateX(-50%);width:560px;height:340px;background:var(--grad-brand);opacity:.1;filter:blur(64px);border-radius:50%}.pp-login__decor,.pp-login__glow{position:absolute;pointer-events:none;z-index:0}.pp-login__decor{bottom:0;left:0;right:0;height:160px;color:var(--primary);opacity:.5;-webkit-mask-image:linear-gradient(0deg,#000 0,transparent);mask-image:linear-gradient(0deg,#000 0,transparent)}.pp-login__decor-svg{display:block;width:100%;height:100%}.pp-login__header{position:relative;z-index:2;display:flex;align-items:center;justify-content:space-between;padding:18px 24px;min-height:64px}.pp-login__header-right{display:flex;align-items:center;gap:10px}.pp-login__main{position:relative;z-index:1;flex:1;justify-content:center;padding:24px 24px 0}.pp-login__brand,.pp-login__main{display:flex;flex-direction:column;align-items:center}.pp-login__brand{gap:14px;margin-bottom:28px;text-align:center}.pp-login__brand .logo-mark{width:52px;height:52px;border-radius:var(--radius-lg);font-size:var(--text-2xl)}.pp-login__title{font-size:var(--text-2xl);font-weight:600;letter-spacing:-.018em;color:var(--foreground);line-height:1.2}.pp-login__sub{margin-top:4px;font-size:var(--text-sm);color:var(--muted-fg);line-height:1.25}.pp-login__card{width:100%;max-width:404px;padding:28px;background:var(--surface-1);border:1px solid var(--border);border-radius:var(--radius-xl,14px);box-shadow:var(--shadow-lg);position:relative;display:flex;flex-direction:column;gap:16px}.pp-login__card .field{height:42px}.pp-login__card .field[data-disabled]{opacity:.6;pointer-events:none}.pp-login__pw{padding-right:4px}.pp-login__eye{flex:none;width:30px;height:30px;display:inline-flex;align-items:center;justify-content:center;background:transparent;border:0;border-radius:var(--radius-sm,6px);cursor:pointer;color:var(--muted-fg);padding:0;transition:all var(--motion-fast,.12s) var(--motion-ease,ease)}.pp-login__eye:hover{color:var(--foreground);background:var(--surface-3)}.pp-login__eye svg{width:16px;height:16px}.pp-login__error{align-items:center;padding:10px 12px;font-size:var(--text-xs);line-height:1.4}.pp-login__error-icon{width:16px;height:16px;color:var(--danger);flex:none}.pp-login__footer{margin-top:24px;margin-bottom:40px;text-align:center;color:var(--muted-fg);line-height:1.5;position:relative;z-index:2;font-size:var(--text-2xs)}.pp-login__lang{position:relative}.pp-login__lang-chip{display:inline-flex;align-items:center;gap:6px;height:32px;padding:0 8px 0 6px;background:var(--surface-1);border:1px solid var(--border);border-radius:var(--radius-md);cursor:pointer;font-size:var(--text-xs);color:var(--foreground);font-weight:500;font-family:inherit;line-height:1;transition:all var(--motion-fast,.12s) var(--motion-ease,ease)}.pp-login__lang-chip:hover{background:var(--surface-2)}.pp-login__lang-chip:focus-visible{outline:none;box-shadow:var(--shadow-focus)}.pp-login__lang-code{display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:18px;padding:0 4px;background:var(--surface-3);color:var(--muted-fg);border:1px solid var(--border);border-radius:var(--radius-sm,4px);font-size:.66rem;font-weight:600;letter-spacing:.02em;text-transform:uppercase;font-family:var(--font-jetbrains),ui-monospace,monospace}.pp-login__lang-label{white-space:nowrap}.pp-login__lang-chev{width:12px;height:12px;color:var(--muted-fg);transition:transform .15s}.pp-login__lang-chev[data-open]{transform:rotate(180deg)}.pp-login__lang-menu{position:absolute;right:0;top:calc(100% + 4px);background:var(--surface-1);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);min-width:200px;padding:4px;z-index:10;display:flex;flex-direction:column;gap:2px}.pp-login__lang-item{display:flex;align-items:center;gap:10px;width:100%;padding:7px 9px;background:transparent;border:0;border-radius:var(--radius-sm,6px);cursor:pointer;font-size:var(--text-xs);color:var(--foreground);text-align:left;font-weight:500;font-family:inherit}.pp-login__lang-item:hover{background:var(--surface-2)}.pp-login__lang-item[data-active]{background:var(--surface-2);font-weight:600}.pp-login__lang-item-label{flex:1}.pp-login__lang-check{width:14px;height:14px;color:var(--primary);flex:none}@media (max-height:760px){.pp-login__main{justify-content:flex-start;padding-top:24px}}.stateful-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:42px;padding:0 16px;border-radius:var(--radius-lg);border:1px solid var(--primary);background:var(--primary);color:var(--primary-foreground);font-family:inherit;font-size:var(--text-sm);font-weight:600;letter-spacing:-.005em;cursor:pointer;transition:all .18s ease;box-shadow:0 1px 0 rgba(0,0,0,.04),0 2px 6px rgba(0,0,0,.06)}.stateful-button.is-full{width:100%}.stateful-button:hover:not(:disabled){background:var(--primary-hover,var(--primary));border-color:var(--primary-hover,var(--primary))}.stateful-button:focus-visible{outline:none;box-shadow:var(--shadow-focus)}.stateful-button[data-state=pending]{opacity:.85;cursor:default}.stateful-button[data-state=success]{background:var(--success);border-color:var(--success);color:var(--success-foreground);cursor:default}.stateful-button[data-variant=destructive]{background:var(--danger);border-color:var(--danger);color:var(--danger-foreground)}.stateful-button:disabled{cursor:default}.stateful-button__label{display:inline-block}.stateful-button__spinner{border-radius:50%;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;animation:ppSpin .8s linear infinite;display:inline-block}.stateful-button__check,.stateful-button__spinner{width:16px;height:16px;flex:none}