.pg-login{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px;position:relative;overflow:hidden}.pg-login:before{content:"";position:fixed;inset:0;pointer-events:none;z-index:0;background-image:linear-gradient(var(--grid-line) 1px,transparent 1px),linear-gradient(90deg,var(--grid-line) 1px,transparent 1px);background-size:46px 46px;-webkit-mask-image:radial-gradient(120% 90% at 50% 40%,#000 0,transparent 68%);mask-image:radial-gradient(120% 90% at 50% 40%,#000 0,transparent 68%)}.pg-login .topbar{position:fixed;top:0;left:0;right:0;z-index:2;display:flex;align-items:center;justify-content:space-between;padding:18px 22px}.pg-login .card{position:relative;z-index:1}.pg-login .brand-tag{text-align:center;font-size:10.5px;font-weight:600;letter-spacing:.15em;text-transform:uppercase;color:var(--muted);margin:0 0 22px}.pg-login .wm{font-weight:700;font-size:18px;letter-spacing:-.03em;color:var(--ink)}.pg-login .wm span{color:var(--accent)}.pg-login .card{width:100%;max-width:400px;background:var(--surface);border:1px solid var(--line);border-radius:20px;box-shadow:var(--shadow-lg);padding:34px 30px}.pg-login .card-brand{display:flex;margin:2px 0 13px}.pg-login h1{font-family:var(--font-sans);font-size:29px;font-weight:700;letter-spacing:-.01em;margin-bottom:6px;text-align:center;color:var(--ink)}.pg-login .sub{font-size:13px;color:var(--muted);text-align:center;margin-bottom:24px;line-height:1.5}.pg-login .field{margin-bottom:14px}.pg-login label{display:block;font-size:12.5px;font-weight:600;color:var(--ink-soft);margin-bottom:7px}.pg-login input{width:100%;min-height:44px;font-family:inherit;font-size:14px;color:var(--ink);background:var(--surface-2);border:1px solid var(--control-line);border-radius:11px;padding:12px 13px;outline:none;transition:var(--t-micro)}.pg-login input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.pg-login input::placeholder{color:var(--faint)}.pg-login .btn{width:100%;min-height:44px;margin-top:8px;font-family:inherit;font-size:14px;font-weight:600;background:var(--accent);color:var(--accent-ink);border:none;border-radius:11px;padding:13px;cursor:pointer;transition:var(--t-micro)}.pg-login .btn:hover{filter:brightness(1.06)}.pg-login .err{margin-top:2px;font-size:12.5px;line-height:1.45;color:var(--neg)}.pg-login input[aria-invalid=true]{border-color:var(--neg)}.pg-login input[aria-invalid=true]:focus{border-color:var(--neg);box-shadow:0 0 0 3px var(--neg-soft)}.pg-login .resend{margin-top:14px;text-align:center;font-size:12px;min-height:18px}.pg-login .resend-wait{color:var(--faint)}.pg-login .linkbtn{min-height:44px;background:none;border:none;padding:10px;font:inherit;font-size:12px;color:var(--muted);cursor:pointer;text-decoration:underline;text-underline-offset:3px}.pg-login .linkbtn:hover:not(:disabled){color:var(--ink)}.pg-login .linkbtn:disabled{color:var(--faint);cursor:default;text-decoration:none}.pg-login .btn:disabled{opacity:.55;cursor:default}.pg-login .btn:disabled:hover{filter:none}.pg-login .note{margin-top:16px;text-align:center;font-size:11.5px;color:var(--faint);line-height:1.5}.pg-login .linkbtn.note{display:block;width:100%;font-size:11.5px;color:var(--faint)}.pg-login :where(.btn,.linkbtn):focus-visible{outline:2px solid var(--focus);outline-offset:2px}.pg-login .alt{margin-top:18px;text-align:center;font-size:12.5px;color:var(--muted)}.pg-login .alt a{color:var(--accent);font-weight:600;text-decoration:none}
