.gfLogin{--blue-100:#9dc0ff;--blue-accent:#2f6bff;--blue-600:#2563eb;--blue-700:#1d4ed8;--blue-900:#1e3a8a;--blue-deep:#0b3aa8;--navy:#1e293b;--text-1:#334155;--text-2:#64748b;--border:#e2e8f0;--placeholder:#94a3b8;--bg-right:#f4f7fb;--danger:#ef4444;--radius-input:14px;display:flex;min-height:100vh;color:var(--text-1);background:var(--bg-right)}.gfLogin .brand-panel{position:relative;flex:1 1 50%;display:flex;flex-direction:column;gap:28px;padding:clamp(32px,4vw,56px);background:linear-gradient(135deg,var(--blue-600) 0,var(--blue-deep) 62%,var(--blue-900) 100%);border-radius:0 40px 40px 0;color:#fff;overflow:hidden}.gfLogin .dots{position:absolute;top:18px;left:18px;width:170px;height:110px;background-image:radial-gradient(rgba(255,255,255,.3) 2px,transparent 2.6px);background-size:18px 18px;-webkit-mask-image:linear-gradient(135deg,#000 30%,transparent 85%);mask-image:linear-gradient(135deg,#000 30%,transparent 85%);pointer-events:none}.gfLogin .brand-logo{position:relative;display:flex;align-items:center;gap:14px}.gfLogin .brand-logo .mark{flex:none;display:block}.gfLogin .brand-logo .wordmark{font-size:30px;font-weight:800;font-style:italic;letter-spacing:.03em;line-height:1.1}.gfLogin .brand-logo .tagline{font-size:10.5px;font-weight:500;letter-spacing:.34em;text-transform:uppercase;color:rgba(255,255,255,.82);margin-top:3px}.gfLogin .brand-heading h1{font-size:clamp(32px,2.9vw,40px);font-weight:700;line-height:1.3}.gfLogin .brand-heading .underline{width:68px;height:5px;border-radius:999px;background:var(--blue-100);margin-top:14px}.gfLogin .brand-desc{font-size:16px;line-height:1.75;color:rgba(255,255,255,.88);max-width:52ch}.gfLogin .features{display:flex;flex-direction:column;gap:20px}.gfLogin .feature{display:flex;align-items:center;gap:16px}.gfLogin .feature .icon-box{flex:none;width:48px;height:48px;display:grid;place-items:center;border:2px solid #fff;border-radius:12px;color:#fff}.gfLogin .feature h3{font-size:17px;font-weight:700;line-height:1.35}.gfLogin .feature p{font-size:13.5px;color:rgba(255,255,255,.75);line-height:1.5}.gfLogin .brand-photo{position:relative;margin-top:auto;min-height:190px;border-radius:20px;overflow:hidden;background:linear-gradient(160deg,#16337f,#0e2666);display:grid;place-items:center}.gfLogin .brand-photo svg.scene{position:absolute;inset:0;width:100%;height:100%}.gfLogin .brand-photo .overlay{position:absolute;inset:0;background:linear-gradient(180deg,rgba(11,42,118,.05),rgba(11,42,118,.45) 55%,rgba(15,46,126,.85))}.gfLogin .brand-photo .slogan{position:relative;transform:skewX(-8deg) rotate(-2deg);font-size:clamp(22px,2.2vw,30px);font-weight:800;font-style:italic;letter-spacing:.06em;text-align:center;line-height:1.25;text-shadow:0 2px 14px rgba(4,16,52,.45)}.gfLogin .brand-photo .slogan .l2{color:var(--blue-100)}.gfLogin .login-side{position:relative;flex:1 1 50%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:22px;padding:48px 24px;background:var(--bg-right);overflow:hidden}.gfLogin .bg-photo{position:absolute;inset:0;background:linear-gradient(90deg,transparent 0 8%,rgba(37,99,235,.22) 8% 9.5%,transparent 9.5% 28%,rgba(37,99,235,.2) 28% 29.5%,transparent 29.5% 48%,rgba(37,99,235,.22) 48% 49.5%,transparent 49.5% 70%,rgba(37,99,235,.2) 70% 71.5%,transparent 71.5% 91%,rgba(37,99,235,.22) 91% 92.5%,transparent 92.5%),linear-gradient(0deg,transparent 0 30%,rgba(30,58,138,.16) 30% 32%,transparent 32% 55%,rgba(30,58,138,.14) 55% 57%,transparent 57% 78%,rgba(30,58,138,.16) 78% 80%,transparent 80%),radial-gradient(600px 320px at 18% 85%,rgba(47,107,255,.28),transparent 70%),radial-gradient(520px 300px at 85% 15%,rgba(37,99,235,.24),transparent 70%),linear-gradient(180deg,#e7eefa,#dce7f7);filter:blur(3px)}.gfLogin .bg-overlay{position:absolute;inset:0;background:rgba(255,255,255,.85)}.gfLogin .login-card{position:relative;width:100%;max-width:520px;background:#fff;border-radius:24px;box-shadow:0 20px 60px rgba(30,64,175,.08);padding:48px}.gfLogin .login-card .headline{text-align:center;font-size:24px;font-weight:700;color:var(--navy);line-height:1.45}.gfLogin .login-card .headline .brand{color:var(--blue-accent)}.gfLogin .login-card .sub{text-align:center;font-size:15px;color:var(--text-2);margin-top:6px}.gfLogin form{margin-top:30px}.gfLogin .field+.field{margin-top:18px}.gfLogin .input-wrap{display:flex;align-items:center;gap:12px;height:56px;padding:0 16px;border:1.5px solid var(--border);border-radius:var(--radius-input);background:#fff;transition:border-color .15s ease,box-shadow .15s ease}.gfLogin .input-wrap:focus-within{border-color:var(--blue-accent);box-shadow:0 0 0 4px rgba(47,107,255,.13)}.gfLogin .input-wrap .lead-icon{flex:none;color:var(--placeholder)}.gfLogin .input-wrap input{flex:1;min-width:0;border:0;outline:0;height:100%;font:inherit;font-size:15.5px;color:var(--text-1);background:transparent}.gfLogin .input-wrap input::placeholder{color:var(--placeholder)}.gfLogin .toggle-eye{flex:none;display:grid;place-items:center;width:34px;height:34px;border:0;border-radius:10px;background:transparent;color:var(--placeholder);cursor:pointer}.gfLogin .toggle-eye:hover{color:var(--text-2);background:#f1f5f9}.gfLogin .field.invalid .input-wrap{border-color:var(--danger)}.gfLogin .field.invalid .input-wrap:focus-within{box-shadow:0 0 0 4px rgba(239,68,68,.12)}.gfLogin .field .field-error{display:none;margin:7px 4px 0;font-size:13px;color:var(--danger)}.gfLogin .field.invalid .field-error{display:block}.gfLogin .error-banner{gap:8px;padding:12px 14px;border:1px solid #fecaca;border-radius:12px;background:#fef2f2;color:#b91c1c;font-size:14px}.gfLogin .error-banner,.gfLogin .form-row{display:flex;align-items:center;margin-top:16px}.gfLogin .form-row{justify-content:space-between;gap:12px}.gfLogin .remember{display:inline-flex;align-items:center;gap:10px;font-size:14.5px;color:var(--text-1);cursor:pointer;user-select:none}.gfLogin .remember input{position:absolute;opacity:0;width:0;height:0}.gfLogin .remember .box{flex:none;width:20px;height:20px;display:grid;place-items:center;border:2px solid #cbd5e1;border-radius:6px;background:#fff;color:#fff;transition:background .15s ease,border-color .15s ease}.gfLogin .remember .box svg{opacity:0}.gfLogin .remember input:checked+.box{background:var(--blue-accent);border-color:var(--blue-accent)}.gfLogin .remember input:checked+.box svg{opacity:1}.gfLogin .remember input:focus-visible+.box{box-shadow:0 0 0 4px rgba(47,107,255,.18)}.gfLogin .forgot{font-size:14.5px;font-weight:600;color:var(--blue-accent);text-decoration:none}.gfLogin .forgot:hover{text-decoration:underline}.gfLogin .btn-login{position:relative;display:flex;align-items:center;justify-content:center;gap:10px;width:100%;height:56px;margin-top:24px;border:0;border-radius:var(--radius-input);background:linear-gradient(90deg,var(--blue-accent),var(--blue-700));color:#fff;font:inherit;font-size:17px;font-weight:700;letter-spacing:.01em;cursor:pointer;box-shadow:0 10px 24px rgba(47,107,255,.3);transition:filter .15s ease,transform .15s ease,box-shadow .15s ease}.gfLogin .btn-login:hover{filter:brightness(.92)}.gfLogin .btn-login:active{transform:translateY(1px)}.gfLogin .btn-login:focus-visible{outline:3px solid rgba(47,107,255,.4);outline-offset:2px}.gfLogin .btn-login:disabled{cursor:default;filter:saturate(.75) brightness(1.02)}.gfLogin .btn-login .spinner{display:none;width:20px;height:20px;border:3px solid rgba(255,255,255,.35);border-top-color:#fff;border-radius:50%;animation:gf-spin .7s linear infinite}.gfLogin .btn-login.loading .spinner{display:inline-block}@keyframes gf-spin{to{transform:rotate(1turn)}}.gfLogin .divider{display:flex;align-items:center;gap:14px;margin:24px 0;color:var(--text-2);font-size:14px}.gfLogin .divider:after,.gfLogin .divider:before{content:"";flex:1;height:1px;background:var(--border)}.gfLogin .btn-google{display:flex;align-items:center;justify-content:center;gap:12px;width:100%;height:56px;border:1px solid var(--border);border-radius:var(--radius-input);background:#fff;color:var(--text-1);font:inherit;font-size:15.5px;font-weight:600;cursor:pointer;transition:background .15s ease,border-color .15s ease,box-shadow .15s ease}.gfLogin .btn-google:hover{background:#f8fafc;border-color:#cbd5e1}.gfLogin .btn-google:focus-visible{outline:3px solid rgba(47,107,255,.3);outline-offset:2px}.gfLogin .google-note{margin-top:10px;text-align:center;font-size:13px;color:var(--text-2)}.gfLogin .card-alt-row{margin-top:22px;text-align:center;font-size:14.5px;color:var(--text-2)}.gfLogin .card-alt-row a{font-weight:600;color:var(--blue-accent);text-decoration:none}.gfLogin .card-alt-row a:hover{text-decoration:underline}.gfLogin .page-footer{position:relative;text-align:center;font-size:13px;color:var(--text-2);line-height:1.7}@media (max-width:767px){.gfLogin .brand-panel{display:none}.gfLogin .login-side{padding:32px 16px}.gfLogin .login-card{padding:36px 24px}}@media (max-width:1024px) and (min-width:768px){.gfLogin .brand-panel{padding:32px}.gfLogin .brand-desc{font-size:15px}}