.login-page{padding:var(--space-5);background-color:var(--color-bg-base);z-index:999;box-sizing:border-box;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.login-form-container{background-color:var(--color-bg-surface);border:1px solid var(--color-border-default);border-radius:var(--radius-xl);padding:var(--space-10);width:100%;max-width:400px;box-shadow:var(--shadow-xl)}.login-header{text-align:center;margin-bottom:var(--space-6)}.login-header h1{font-size:var(--font-size-2xl);margin-bottom:var(--space-2);color:var(--color-primary-500)}.login-header p{color:var(--color-text-secondary);font-size:var(--font-size-base)}.login-form{margin-bottom:var(--space-6)}.oauth2-btn{width:100%;font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);color:var(--color-primary-500);border:2px solid var(--color-primary-500);border-radius:var(--radius-lg);cursor:pointer;transition:var(--transition-all);justify-content:center;align-items:center;gap:var(--space-3);margin-bottom:var(--space-4);background-color:#0000;padding:14px;display:flex}.oauth2-btn:hover:not(:disabled){background-color:var(--color-primary-500);color:var(--color-bg-base);box-shadow:var(--shadow-glow);transform:translateY(-1px)}.oauth2-btn:disabled{opacity:.6;cursor:not-allowed;box-shadow:none;transform:none}.oauth2-icon{width:20px;height:20px}.login-divider{text-align:center;margin:var(--space-5) 0;color:var(--color-text-secondary);align-items:center;display:flex}.login-divider:before,.login-divider:after{content:"";border-bottom:1px solid var(--color-border-default);flex:1}.login-divider span{padding:0 var(--space-3);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium)}.login-btn{width:100%;font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);background-color:var(--color-primary-500);color:var(--color-bg-base);border-radius:var(--radius-lg);cursor:pointer;transition:var(--transition-all);text-align:center;border:none;justify-content:center;align-items:center;padding:14px;display:flex}.login-btn:hover:not(:disabled){opacity:.9;box-shadow:var(--shadow-glow);transform:translateY(-1px)}.login-btn:disabled{opacity:.6;cursor:not-allowed;box-shadow:none;transform:none}.error-message{background-color:var(--color-error);color:var(--color-text-primary);padding:var(--space-3);border-radius:var(--radius-md);margin-bottom:var(--space-5);text-align:center;font-size:var(--font-size-sm)}.login-info{text-align:center;padding:var(--space-5);border-radius:var(--radius-lg);background-color:#09bec81a;border:1px solid #09bec833}.login-info p{margin:var(--space-1) 0;font-size:var(--font-size-sm);color:var(--color-text-secondary)}.login-info p:first-child{font-weight:var(--font-weight-semibold);color:var(--color-primary-500);margin-bottom:var(--space-2)}.login-form .form-group.remember-device,.form-group.remember-device,.remember-device{margin-bottom:var(--space-3);box-shadow:none!important;background:0 0!important;border:none!important;padding:0!important}.login-form .checkbox-label,.checkbox-label{cursor:pointer;font-size:var(--font-size-sm);color:var(--color-text-secondary);transition:color var(--transition-base);-webkit-user-select:none;user-select:none;align-items:center;display:inline-flex;text-transform:none!important;box-shadow:none!important;background:0 0!important;border:none!important;padding:0!important}.checkbox-label:hover{color:var(--color-text-primary)}.checkbox-label input[type=checkbox]{opacity:0;cursor:pointer;width:0;height:0;position:absolute}.checkmark{background-color:var(--color-bg-base);border:2px solid var(--color-border-default);border-radius:var(--radius-sm);width:18px;min-width:18px;height:18px;margin-right:var(--space-3);transition:var(--transition-all);flex-shrink:0;display:inline-block;position:relative}.checkbox-label:hover .checkmark{border-color:var(--color-primary-500)}.checkbox-label input:checked~.checkmark{background-color:var(--color-primary-500);border-color:var(--color-primary-500)}.checkmark:after{content:"";border:solid var(--color-text-primary);border-width:0 2px 2px 0;width:4px;height:8px;display:none;position:absolute;top:2px;left:5px;transform:rotate(45deg)}.checkbox-label input:checked~.checkmark:after{display:block}.checkbox-label input:disabled~.checkmark{opacity:.6;cursor:not-allowed}.forgot-password-link{text-align:right;margin-bottom:var(--space-5)}.forgot-password-link a{color:var(--color-primary-500);font-size:var(--font-size-sm);transition:opacity var(--transition-base);text-decoration:none}.forgot-password-link a:hover{opacity:.8;text-decoration:underline}.auth-links{text-align:center;padding-top:var(--space-5);border-top:1px solid var(--color-border-default)}.auth-links p{color:var(--color-text-secondary);margin-bottom:var(--space-2);font-size:var(--font-size-sm)}.register-link{color:var(--color-primary-500);font-weight:var(--font-weight-semibold);transition:all var(--transition-fast);font-size:15px;text-decoration:none;display:inline-block}.register-link:hover{opacity:.85;text-decoration:underline}.oauth2-btn-primary{background-color:var(--color-primary-500);color:var(--color-bg-base);border:2px solid var(--color-primary-500);padding:var(--space-4);font-size:var(--font-size-lg);margin-bottom:var(--space-5)}.oauth2-btn-primary:hover:not(:disabled){color:var(--color-primary-500);background-color:#0000}.oauth2-info{text-align:center;color:var(--color-text-secondary);font-size:var(--font-size-sm);padding-top:var(--space-2);margin:0}.loading-container{padding:var(--space-10) var(--space-5);flex-direction:column;justify-content:center;align-items:center;display:flex}.loading-container p{margin-top:var(--space-4);color:var(--color-text-secondary);font-size:var(--font-size-base)}@media (max-width:480px){.login-form-container{padding:var(--space-6) var(--space-5);margin:var(--space-2)}.login-header h1{font-size:var(--font-size-xl)}.form-group input{font-size:var(--font-size-base)}}
