.login-page{--blue-50:#eff4ff;--blue-100:#dbe6ff;--blue-500:#2f6bff;--blue-600:#1f55ec;--blue-700:#1a43c2;--ink:#0a0a0b;--muted:#5b6170;--muted-2:#868c9b;--line:#e7e8ee;--line-2:#eef0f5;--bg:#fff;--bg-2:#f7f8fb;--bg-3:#f1f3f9;--shadow-sm:0 1px 2px #0a0a0b0a, 0 1px 1px #0a0a0b08;--shadow-md:0 8px 24px -10px #141e501f, 0 2px 4px #0a0a0b0a;--shadow-lg:0 30px 60px -20px #141e5038, 0 8px 24px -12px #141e501f;background:var(--bg);min-height:calc(100vh - 64px);color:var(--ink);flex-direction:column;font-family:Inter,system-ui,-apple-system,sans-serif;display:flex}html[data-theme=dark] .login-page{--blue-50:#15224a;--blue-500:#6a93ff;--blue-600:#7ea2ff;--blue-700:#9fb7ff;--ink:#f5f6fa;--muted:#9da4b3;--muted-2:#6b7284;--line:#23242b;--line-2:#1b1c22;--bg:#0a0a0c;--bg-2:#111114;--bg-3:#16161b;--shadow-lg:0 30px 60px -20px #000c, 0 8px 24px -12px #00000080}.login-page .login-wrap{flex:1;place-items:center;padding:48px 24px 72px;display:grid;position:relative;overflow:hidden}.login-page .login-wrap:before{content:"";filter:blur(20px);pointer-events:none;z-index:0;background:radial-gradient(closest-side,#2f6bff2e,#0000 70%);border-radius:50%;width:540px;height:540px;position:absolute;inset:-10% -10% auto auto}.login-page .login-wrap:after{content:"";filter:blur(20px);pointer-events:none;z-index:0;background:radial-gradient(closest-side,#2f6bff1f,#0000 70%);border-radius:50%;width:480px;height:480px;position:absolute;inset:auto auto -10% -10%}html[data-theme=dark] .login-page .login-wrap:before{background:radial-gradient(closest-side,#6a93ff38,#0000 70%)}html[data-theme=dark] .login-page .login-wrap:after{background:radial-gradient(closest-side,#6a93ff29,#0000 70%)}.login-page .login-grid{z-index:0;pointer-events:none;opacity:.4;background-image:linear-gradient(90deg,#0a0a0c0f 1px,#0000 1px),linear-gradient(#0a0a0c0f 1px,#0000 1px);background-size:48px 48px;position:absolute;inset:0;-webkit-mask-image:radial-gradient(#000 30%,#0000 70%);mask-image:radial-gradient(#000 30%,#0000 70%)}html[data-theme=dark] .login-page .login-grid{opacity:.5;background-image:linear-gradient(90deg,#ffffff0d 1px,#0000 1px),linear-gradient(#ffffff0d 1px,#0000 1px)}.login-page .login-card{z-index:1;background:var(--bg);border:1px solid var(--line);width:100%;max-width:460px;box-shadow:var(--shadow-lg);border-radius:20px;padding:40px 36px 32px;position:relative}html[data-theme=dark] .login-page .login-card{background:var(--bg-2);box-shadow:0 30px 60px -20px #0009,0 0 0 1px #ffffff08}.login-page .login-brand{justify-content:center;margin-bottom:28px;display:flex}.login-page .login-brand .brand{letter-spacing:-.02em;color:var(--ink);align-items:center;gap:10px;font-size:18px;font-weight:700;display:flex}.login-page .login-brand .brand-mark{background:linear-gradient(135deg, #0f1a3a, var(--blue-600));border-radius:10px;place-items:center;width:34px;height:34px;display:grid;box-shadow:inset 0 1px #fff3,0 6px 16px -6px #1f55ec8c}.login-page .login-brand .brand-mark svg{stroke:#fff;fill:none;stroke-width:2.2px;stroke-linecap:round;stroke-linejoin:round;width:18px;height:18px}.login-page .login-title{text-align:center;letter-spacing:-.02em;color:var(--ink);margin:0 0 6px;font-size:28px;font-weight:700}.login-page .login-sub{text-align:center;color:var(--muted);margin:0 0 28px;font-size:14px}.login-page .login-error{color:#b91c1c;background:#dc262614;border:1px solid #dc262640;border-radius:12px;align-items:flex-start;gap:10px;margin-bottom:18px;padding:12px 14px;font-size:13.5px;display:flex}html[data-theme=dark] .login-page .login-error{color:#fca5a5;background:#f871711a;border-color:#f871714d}.login-page .login-error svg{stroke:currentColor;fill:none;stroke-width:2px;flex:none;width:18px;height:18px;margin-top:1px}.login-page .field{margin-bottom:16px}.login-page .field>label{color:var(--ink);margin-bottom:8px;font-size:13px;font-weight:600;display:block}.login-page .input{box-sizing:border-box;background:var(--bg-2);border:1px solid var(--line);border-radius:12px;align-items:center;gap:10px;width:100%;padding:0 14px;transition:border-color .15s,box-shadow .15s,background .15s;display:flex}.login-page .input:focus-within{border-color:var(--blue-500);background:var(--bg);box-shadow:0 0 0 4px #2f6bff24}.login-page .input svg.ic{width:16px;height:16px;stroke:var(--muted);fill:none;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;flex:none}.login-page .input:focus-within svg.ic{stroke:var(--blue-600)}.login-page .input input{min-width:0;color:var(--ink);background:0 0;border:0;outline:0;flex:1;padding:14px 0;font-family:inherit;font-size:14.5px}.login-page .input input::placeholder{color:var(--muted-2)}.login-page .input .eye{width:32px;height:32px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:8px;flex:none;place-items:center;transition:background .15s,color .15s;display:grid}.login-page .input .eye:hover{background:var(--bg);color:var(--ink)}.login-page .input .eye svg{stroke:currentColor;fill:none;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;width:16px;height:16px}.login-page .forgot-row{margin:14px 0 20px}.login-page .forgot-row a{color:var(--blue-600);cursor:pointer;background:0 0;border:0;padding:0;font-family:inherit;font-size:13px;font-weight:600}.login-page .forgot-row a:hover{color:var(--blue-700);text-decoration:underline}.login-page .row-opts{color:var(--muted);justify-content:space-between;align-items:center;margin:4px 0 20px;font-size:13px;display:flex}.login-page .remember{cursor:pointer;-webkit-user-select:none;user-select:none;color:var(--ink);align-items:center;gap:8px;font-weight:500;display:inline-flex}.login-page .remember input{display:none}.login-page .remember .box{border:1.5px solid var(--line);background:var(--bg);border-radius:5px;place-items:center;width:16px;height:16px;transition:background .15s,border-color .15s;display:grid}.login-page .remember input:checked+.box{background:var(--blue-600);border-color:var(--blue-600)}.login-page .remember .box svg{stroke:#fff;fill:none;stroke-width:3px;stroke-linecap:round;stroke-linejoin:round;opacity:0;width:10px;height:10px;transition:opacity .15s}.login-page .remember input:checked+.box svg{opacity:1}.login-page .btn-signin{cursor:pointer;color:#fff;background:linear-gradient(135deg, var(--blue-600) 0%, var(--blue-700) 50%, #1742c9 100%);border:0;border-radius:12px;justify-content:center;align-items:center;gap:10px;width:100%;padding:14px 18px;font-family:inherit;font-size:14.5px;font-weight:600;transition:transform .15s,box-shadow .15s,filter .15s;display:flex;position:relative;overflow:hidden;box-shadow:inset 0 1px #fff3,0 10px 24px -10px #1f55ec8c,0 0 0 1px #2f6bff40}.login-page .btn-signin:before{content:"";background:linear-gradient(120deg,#0000 30%,#ffffff38 50%,#0000 70%);transition:transform .6s;position:absolute;inset:0;transform:translate(-100%)}.login-page .btn-signin:hover:not(:disabled){filter:brightness(1.05);transform:translateY(-1px);box-shadow:inset 0 1px #fff3,0 14px 28px -10px #1f55ecb3,0 0 0 1px #2f6bff59}.login-page .btn-signin:hover:not(:disabled):before{transform:translate(100%)}.login-page .btn-signin:disabled{opacity:.7;cursor:not-allowed}.login-page .btn-signin svg{stroke:currentColor;fill:none;stroke-width:2.4px;stroke-linecap:round;stroke-linejoin:round;width:16px;height:16px;position:relative}.login-page .btn-signin .spin{animation:.9s linear infinite login-spin}@keyframes login-spin{to{transform:rotate(360deg)}}.login-page .divider{color:var(--muted);align-items:center;gap:14px;margin:22px 0;font-size:12px;font-weight:500;display:flex}.login-page .divider:before,.login-page .divider:after{content:"";background:var(--line-2);flex:1;height:1px}.login-page .btn-google{border:1px solid var(--line);cursor:pointer;width:100%;color:var(--ink);background:var(--bg);border-radius:12px;justify-content:center;align-items:center;gap:12px;padding:12px 16px;font-family:inherit;font-size:14px;font-weight:600;transition:background .15s,border-color .15s,transform .15s;display:flex;position:relative}.login-page .btn-google:not(:disabled):hover{background:var(--bg-2);border-color:var(--blue-500);transform:translateY(-1px)}.login-page .btn-google:disabled{cursor:not-allowed;opacity:.75}.login-page .btn-google .gicon{flex:none;width:18px;height:18px}.login-page .soon-chip{background:var(--blue-50);color:var(--blue-700);letter-spacing:.04em;text-transform:uppercase;border:1px solid #2f6bff2e;border-radius:999px;align-items:center;padding:3px 8px;font-size:10.5px;font-weight:700;display:inline-flex}html[data-theme=dark] .login-page .soon-chip{color:#9fb7ff;background:#2f6bff26}.login-page .guest-btn{cursor:pointer;width:100%;color:var(--muted);background:0 0;border:0;border-radius:10px;justify-content:center;align-items:center;gap:8px;margin-top:14px;padding:12px 16px;font-family:inherit;font-size:13.5px;font-weight:500;text-decoration:none;transition:color .15s,background .15s;display:flex}.login-page .guest-btn:hover{color:var(--ink);background:var(--bg-2)}.login-page .guest-btn svg{stroke:currentColor;fill:none;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;width:14px;height:14px}.login-page .signup-row{text-align:center;color:var(--muted);z-index:1;margin-top:20px;font-size:14px;position:relative}.login-page .signup-row a{color:var(--blue-600);font-weight:600}.login-page .signup-row a:hover{color:var(--blue-700);text-decoration:underline}@media (max-width:520px){.login-page .login-card{border-radius:16px;padding:32px 22px 26px}.login-page .login-title{font-size:24px}}
