.login-page{--bg-color:#f6f7f9;--card-bg:#fff;--text-color:#1f2733;--muted-color:#5f6b7a;--border-color:#d9dde3;--input-border:#d5dae1;--input-focus:#1f2733;--button-bg-start:#213986;--button-bg-end:#213986;--button-hover-start:#2947a0;--button-hover-end:#203881;--button-text:#fff;--error-bg:#f8d7da;--error-text:#721c24;--success-bg:#d4edda;--success-text:#155724}.dark .login-page{--bg-color:#1f2125;--card-bg:#2a2d32;--text-color:#eceef2;--muted-color:#a7adb8;--border-color:#4a4f57;--input-border:#595f69;--input-focus:#eceef2;--button-bg-start:#213986;--button-bg-end:#213986;--button-hover-start:#2947a0;--button-hover-end:#203881;--button-text:#fff;--error-bg:#4f252b;--error-text:#f4c7cd;--success-bg:#234233;--success-text:#ccead5}.login-page *{box-sizing:border-box;margin:0;padding:0}.login-page{background:var(--bg-color);min-height:100vh;color:var(--text-color);justify-content:center;align-items:center;padding:24px;font-family:Arial,sans-serif;transition:background-color .2s,color .2s;display:flex}.login-page.auth-checking .auth-card{visibility:hidden}.login-page .auth-card{border:1px solid var(--border-color);background:var(--card-bg);border-radius:12px;width:min(100%,420px);padding:36px 32px 32px}.login-page .auth-loading{pointer-events:none;justify-content:center;align-items:center;display:none;position:absolute;inset:0}.login-page.auth-checking .auth-loading{display:flex}.login-page .auth-loading-inner{color:var(--muted-color);flex-direction:column;align-items:center;gap:18px;font-size:14px;display:flex}.login-page .auth-spinner{border:2px solid #7f899740;border-top-color:var(--text-color);border-radius:50%;width:28px;height:28px;animation:.75s linear infinite auth-spin}@keyframes auth-spin{to{transform:rotate(360deg)}}.login-page .logo-link{justify-content:center;margin-bottom:28px;line-height:0;display:flex}.login-page .logo-link img{width:min(100%,320px);height:auto;display:block}.login-page .form-group{margin-bottom:16px}.login-page label{color:var(--text-color);margin-bottom:6px;font-size:14px;font-weight:600;display:block}.login-page input[type=email],.login-page input[type=password]{border:1px solid var(--input-border);background:var(--card-bg);width:100%;color:var(--text-color);border-radius:6px;padding:11px 12px;font-size:15px}.login-page input:focus{border-color:var(--input-focus);outline:none}.login-page input:-webkit-autofill{-webkit-text-fill-color:var(--text-color);caret-color:var(--text-color);-webkit-box-shadow:0 0 0 1000px var(--card-bg) inset;box-shadow:0 0 0 1000px var(--card-bg) inset;border:1px solid var(--input-border);transition:background-color 9999s ease-out,color 9999s ease-out}.login-page input:-webkit-autofill:hover{-webkit-text-fill-color:var(--text-color);caret-color:var(--text-color);-webkit-box-shadow:0 0 0 1000px var(--card-bg) inset;box-shadow:0 0 0 1000px var(--card-bg) inset;border:1px solid var(--input-border);transition:background-color 9999s ease-out,color 9999s ease-out}.login-page input:-webkit-autofill:focus{-webkit-text-fill-color:var(--text-color);caret-color:var(--text-color);-webkit-box-shadow:0 0 0 1000px var(--card-bg) inset;box-shadow:0 0 0 1000px var(--card-bg) inset;border:1px solid var(--input-border);transition:background-color 9999s ease-out,color 9999s ease-out}.login-page input:-webkit-autofill:active{-webkit-text-fill-color:var(--text-color);caret-color:var(--text-color);-webkit-box-shadow:0 0 0 1000px var(--card-bg) inset;box-shadow:0 0 0 1000px var(--card-bg) inset;border:1px solid var(--input-border);transition:background-color 9999s ease-out,color 9999s ease-out}.login-page .btn-primary{background:linear-gradient(180deg, var(--button-bg-start) 0%, var(--button-bg-end) 100%);width:100%;color:var(--button-text);cursor:pointer;border:1px solid #0c10162e;border-radius:6px;margin-top:8px;padding:12px;font-size:16px;font-weight:600;transition:background .2s,color .2s,transform .18s,box-shadow .18s,border-color .18s;position:relative;overflow:hidden;transform:translateY(0);box-shadow:inset 0 1px #ffffff14,0 0 #0000}.login-page .btn-primary:hover{background:linear-gradient(180deg, var(--button-hover-start) 0%, var(--button-hover-end) 100%);border-color:#0c101647;transform:translateY(-1px);box-shadow:inset 0 1px #ffffff1a,0 12px 26px #0f141b33}.login-page .btn-primary:active{transform:translateY(1px)scale(.988);box-shadow:inset 0 2px 10px #0f141b38}.login-page .btn-primary:disabled{cursor:not-allowed;opacity:.72}.login-page .divider{color:var(--muted-color);align-items:center;margin:20px 0;font-size:13px;display:flex}.login-page .divider:before,.login-page .divider:after{content:"";border-bottom:1px solid var(--border-color);flex:1}.login-page .divider:before{margin-right:12px}.login-page .divider:after{margin-left:12px}.login-page .btn-google{border:1px solid var(--input-border);background:var(--card-bg);width:100%;color:var(--text-color);cursor:pointer;border-radius:6px;justify-content:center;align-items:center;gap:10px;padding:12px;font-size:15px;transition:border-color .2s,background-color .2s,transform .18s,box-shadow .18s;display:flex;position:relative;overflow:hidden;transform:translateY(0);box-shadow:0 0 #0000}.login-page .btn-google:hover{border-color:var(--border-color);transform:translateY(-1px);box-shadow:0 10px 22px #0f141b14}.login-page .btn-google:active{transform:translateY(1px)scale(.988);box-shadow:inset 0 2px 10px #0f141b1f}.login-page .btn-google svg{flex:0 0 18px;width:18px;height:18px}.login-page .btn-primary:after,.login-page .btn-google:after{content:"";opacity:0;pointer-events:none;background:linear-gradient(110deg,#0000 0%,#ffffff29 45%,#0000 100%);position:absolute;inset:0;transform:translate(-135%)}.login-page .btn-primary.is-loading,.login-page .btn-google.is-loading{opacity:1;cursor:progress;transform:translateY(1px)scale(.99)}.login-page .btn-primary.is-loading:after,.login-page .btn-google.is-loading:after{opacity:1;animation:1s linear infinite button-sweep}.login-page .btn-google:disabled{opacity:1;cursor:progress}.login-page .btn-label{z-index:1;position:relative}@keyframes button-sweep{0%{transform:translate(-135%)}to{transform:translate(135%)}}.login-page .aux-link{color:var(--muted-color);text-align:center;margin-top:16px;font-size:14px}.login-page .aux-link a{color:inherit;cursor:pointer;text-decoration:underline}.login-page .auth-links{color:var(--muted-color);flex-direction:column;align-items:center;gap:10px;margin-top:16px;font-size:14px;display:flex}.login-page .auth-links a{color:inherit;cursor:pointer;text-decoration:underline}.login-page .error-msg,.login-page .success-msg{border-radius:6px;margin-bottom:16px;padding:10px 12px;font-size:14px;line-height:1.45;display:none}.login-page .error-msg{background:var(--error-bg);color:var(--error-text)}.login-page .success-msg{background:var(--success-bg);color:var(--success-text)}@media (max-width:520px){.login-page .auth-card{padding:28px 22px 24px}}.login-page{flex:1;width:100%;min-height:100svh}.login-page .error-msg,.login-page .success-msg{display:block}.login-page .auth-name{text-align:center;letter-spacing:.14em;text-transform:uppercase;color:var(--muted-color);margin:-12px 0 24px;font-size:12px}.login-page button:focus-visible,.login-page a:focus-visible{outline:2px solid var(--input-focus);outline-offset:4px}.login-page .form-title{text-align:center;margin-bottom:24px;font-size:20px}.login-page .logo-dark,.dark .login-page .logo-light{display:none}.dark .login-page .logo-dark{display:block}.login-page .logo-link .logo-dark,.dark .login-page .logo-link .logo-light{display:none}.dark .login-page .logo-link .logo-dark{display:block}
