.login-page{--bg:#dbe2e9;--navy-950:#06172d;--navy-900:#0b1f3a;--text:#0b1e3b;--muted:#6f84a3;--line:#d7e0eb;--surface:rgba(255,255,255,0.96);--primary:#1858ee;--primary-strong:#1048d9;--danger:#c43c4a;--success:#147b59;--radius-card:22px;--radius-control:10px;--shadow:0 28px 68px rgba(23,52,84,0.16),0 4px 14px rgba(23,52,84,0.06);--ease:cubic-bezier(0.2,0.8,0.2,1);position:relative;display:grid;grid-template-columns:minmax(360px,43.5%) minmax(0,56.5%);min-height:100vh;min-height:100svh;isolation:isolate;color:var(--text);background:var(--bg);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.login-page *,.login-page :after,.login-page :before{box-sizing:border-box}.login-page button,.login-page input{font:inherit}.login-page :focus-visible{box-shadow:none}.login-page .brand-panel{position:relative;min-height:100%;overflow:hidden;background:var(--navy-950)}.login-page .brand-panel:before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(5,28,57,.03),rgba(2,18,38,.2)),url(/nexugc-brand-panel.png) center 48% /cover no-repeat;transform:scale(1.012);animation:brandReveal .9s var(--ease) both}.login-page .brand-panel:after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,transparent 78%,rgba(1,14,31,.2)),radial-gradient(circle at 18% 18%,rgba(32,111,255,.12),transparent 30%)}.login-page .form-panel{position:relative;display:grid;place-items:center;min-width:0;min-height:100%;padding:max(40px,env(safe-area-inset-top)) max(40px,env(safe-area-inset-right)) max(40px,env(safe-area-inset-bottom)) max(40px,env(safe-area-inset-left));overflow:hidden;background:radial-gradient(circle at 20% 8%,rgba(255,255,255,.98),transparent 34%),radial-gradient(circle at 82% 84%,rgba(255,255,255,.62),transparent 30%),linear-gradient(135deg,#edf2f6,#dce6ef 55%,#eef3f7)}.login-page .form-panel:after,.login-page .form-panel:before{content:"";position:absolute;width:min(82vw,980px);aspect-ratio:1;border:1px solid rgba(255,255,255,.58);border-radius:50%;pointer-events:none}.login-page .form-panel:before{top:-66%;right:-42%}.login-page .form-panel:after{bottom:-69%;left:-45%}.login-page .login-card{position:relative;z-index:1;width:min(100%,560px);padding:clamp(34px,4.25vw,58px) clamp(30px,4.4vw,60px) 42px;border:1px solid rgba(255,255,255,.82);border-radius:var(--radius-card);background:var(--surface);box-shadow:var(--shadow);backdrop-filter:blur(18px);animation:cardEnter .68s 80ms var(--ease) both}.login-page .accent-line{width:34px;height:4px;margin-bottom:23px;border-radius:99px;background:var(--primary);box-shadow:0 4px 12px rgba(24,88,238,.22)}.login-page h1{margin:0;max-width:100%;color:#0a1c38;font-size:clamp(2rem,3.05vw,2.75rem);font-weight:760;line-height:1.06;letter-spacing:-.045em;text-wrap:balance}.login-page .subtitle{margin:10px 0 36px;color:var(--muted);font-size:clamp(1rem,1.2vw,1.16rem);line-height:1.45}.login-page .field{margin-top:20px}.login-page .field label{display:inline-block;margin-bottom:9px;color:#0b1d38;font-size:.98rem;font-weight:650}.login-page .input-shell{position:relative;display:flex;align-items:center;min-height:58px;border:1px solid #cfd9e6;border-radius:var(--radius-control);background:#fff;box-shadow:inset 0 1px 1px rgba(16,42,74,.02);transition:border-color .18s var(--ease),box-shadow .18s var(--ease),transform .18s var(--ease)}.login-page .input-shell:focus-within{border-color:rgba(24,88,238,.82);box-shadow:0 0 0 4px rgba(24,88,238,.12),0 9px 24px rgba(27,65,109,.07);transform:translateY(-1px)}.login-page .input-shell.invalid{border-color:var(--danger);box-shadow:0 0 0 4px rgba(196,60,74,.1)}.login-page .field-icon{flex:0 0 auto;width:21px;height:21px;margin-left:18px;color:#7d93b2}.login-page input{width:100%;min-width:0;height:56px;padding:0 16px;border:0;outline:0;color:#0c203f;background:transparent;font-size:1rem}.login-page input::-moz-placeholder{color:#a1b0c4;opacity:1}.login-page input::placeholder{color:#a1b0c4;opacity:1}.login-page .password-input{padding-right:8px}.login-page .password-toggle{display:grid;flex:0 0 48px;place-items:center;width:48px;height:48px;margin-right:4px;border:0;border-radius:9px;color:#7c91af;background:transparent;cursor:pointer;transition:color .16s var(--ease),background .16s var(--ease),transform .16s var(--ease)}.login-page .password-toggle:hover{color:var(--primary);background:#edf3ff}.login-page .password-toggle:active{transform:scale(.94)}.login-page .password-toggle:focus-visible{outline:3px solid rgba(24,88,238,.24);outline-offset:-2px}.login-page .password-toggle svg{width:22px;height:22px}.login-page .field-error{min-height:18px;margin:6px 2px -2px;color:var(--danger);font-size:.82rem;line-height:1.35}.login-page .submit-button{position:relative;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;width:100%;min-height:60px;margin-top:24px;padding:0 20px;border:0;border-radius:10px;color:#fff;background:linear-gradient(100deg,#1f5bf2,#1858ee 58%,#1351e6);box-shadow:0 13px 25px rgba(24,88,238,.2);cursor:pointer;font-size:1.06rem;font-weight:720;transition:transform .17s var(--ease),box-shadow .17s var(--ease),filter .17s var(--ease);overflow:hidden}.login-page .submit-button:before{content:"";position:absolute;inset:0;background:linear-gradient(110deg,transparent 25%,rgba(255,255,255,.18) 48%,transparent 70%);transform:translateX(-120%);transition:transform .52s var(--ease)}.login-page .submit-button:hover{transform:translateY(-2px);box-shadow:0 17px 30px rgba(24,88,238,.27)}.login-page .submit-button:hover:before{transform:translateX(120%)}.login-page .submit-button:active{transform:translateY(0) scale(.99)}.login-page .submit-button:focus-visible{outline:4px solid rgba(24,88,238,.24);outline-offset:3px}.login-page .submit-button:disabled{cursor:not-allowed;filter:saturate(.32);opacity:.6;transform:none;box-shadow:none}.login-page .submit-button.loading:disabled{cursor:wait;filter:saturate(.72);opacity:.82}.login-page .submit-button:disabled:hover{transform:none;box-shadow:none}.login-page .submit-button:disabled:hover:before{transform:translateX(-120%)}.login-page .submit-label{grid-column:2}.login-page .submit-arrow{grid-column:3;justify-self:end;width:22px;height:22px}.login-page .spinner{display:none;grid-column:1;justify-self:start;width:19px;height:19px;border:2px solid rgba(255,255,255,.42);border-top-color:#fff;border-radius:50%;animation:spin .65s linear infinite}.login-page .submit-button.loading .spinner{display:block}.login-page .security-note{display:flex;align-items:center;justify-content:center;gap:9px;margin-top:32px;padding-top:24px;border-top:1px solid #d9e2ec;color:#7187a7;font-size:.9rem;text-align:center}.login-page .security-note svg{width:21px;height:21px;flex:0 0 auto}.login-page .form-status{min-height:20px;margin:14px 0 -8px;color:var(--success);font-size:.9rem;font-weight:600;text-align:center}.login-page .form-status.error{color:var(--danger)}@keyframes brandReveal{0%{opacity:0;transform:scale(1.045)}to{opacity:1;transform:scale(1.012)}}@keyframes cardEnter{0%{opacity:0;transform:translateY(18px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes spin{to{transform:rotate(1turn)}}@media (max-width:1180px){.login-page{grid-template-columns:minmax(330px,40%) minmax(0,60%)}.login-page .form-panel{padding-inline:30px}.login-page .login-card{width:min(100%,510px)}}@media (max-width:820px){.login-page{display:block;min-height:100svh;background:linear-gradient(180deg,var(--navy-950) 0 29%,#e3eaf0 29% 100%)}.login-page .brand-panel{min-height:clamp(210px,31svh,300px);height:clamp(210px,31svh,300px)}.login-page .brand-panel:before{background-position:center 45%;background-size:cover;transform:scale(1.02)}.login-page .brand-panel:after{background:linear-gradient(180deg,transparent 60%,rgba(4,22,45,.42))}.login-page .form-panel{display:block;min-height:calc(100svh - clamp(210px, 31svh, 300px));margin-top:-32px;padding:0 max(16px,env(safe-area-inset-right)) max(26px,env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left));overflow:visible;background:linear-gradient(180deg,transparent,#e6edf3 52px,#edf2f6)}.login-page .form-panel:after,.login-page .form-panel:before{display:none}.login-page .login-card{width:min(100%,560px);margin:0 auto;padding:34px clamp(22px,7vw,42px) 28px;border-radius:22px}.login-page h1{font-size:clamp(1.85rem,7vw,2.45rem)}.login-page .subtitle{margin-bottom:28px}}@media (max-width:430px){.login-page .brand-panel{min-height:225px;height:28svh;max-height:260px}.login-page .brand-panel:before{background-position:center 46%}.login-page .form-panel{min-height:calc(100svh - 205px);margin-top:-24px;padding-inline:12px}.login-page .login-card{padding:28px 20px 24px;border-radius:20px;box-shadow:0 19px 48px rgba(23,52,84,.14)}.login-page .accent-line{margin-bottom:18px}.login-page .subtitle{margin-top:8px;margin-bottom:24px}.login-page .field{margin-top:16px}.login-page .input-shell{min-height:54px}.login-page input{height:52px}.login-page .submit-button{min-height:56px;margin-top:20px}.login-page .security-note{margin-top:25px;padding-top:20px}}@media (max-width:350px){.login-page .login-card{padding-inline:16px}.login-page h1{font-size:1.75rem}.login-page .subtitle{font-size:.94rem}.login-page .field-icon{margin-left:14px}.login-page input{padding-inline:12px;font-size:.95rem}}@media (min-width:821px) and (max-height:680px){.login-page .form-panel{padding-block:22px}.login-page .login-card{padding-block:28px 24px}.login-page .accent-line{margin-bottom:16px}.login-page .subtitle{margin-bottom:20px}.login-page .field{margin-top:13px}.login-page .input-shell,.login-page input{min-height:50px;height:50px}.login-page .submit-button{min-height:52px;margin-top:17px}.login-page .security-note{margin-top:20px;padding-top:17px}}